- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数值分析算法编程数分析算法编程
2013年工程数值分析作业
Matlab编程
一编程求解
试分别选用Jacobi 迭代法,Gauss-Seidol迭代法计算其解。
Jacobi 迭代法
function[x,n]=jacobi(A,b,x0,eps,varargin)
%采用Jacobi迭代法求线性方程组Ax=b的解
%线性方程组的系数矩阵: A
%线性方程组的常数向量: b
%迭代初始向量: x0
%解的精度控制: eps
%迭代步数控制: varargin
%线性方程组的解: x
%求出所需精度的解实际的迭代步数: n
if nargin==3
eps=1.0e-6;
M=200;
elseif nargin3
return
elseif nargin==5
M=varargin{1};
end
D=diag(diag(A)); %求A的对角矩阵
L=-tril(A,-1); %求A的下三角阵
U=-triu(A,1); %求A的上三角阵
B=D\(L+U);
f=D\b;
x=B*x0+f;
n=1; %迭代次数
%迭代过程
while norm(x-x0)=eps
x0=x;
x=B*x0+f;
n=n+1;
if(n=M)
disp(‘warning:迭代次数太多,可能不收敛!’);
return;
end
end
在MATLAB命令窗口中输入求解程序:
A=[7 2 1 -2;9 15 3 -2;-2 -2 11 5;1 3 2 13];
b=[4 7 -1 0];
x0=ones(4,1);
[x,n]=jacobi(A,b,x0)
得
x =
0.4981
0.1443
0.0629
-0.0812
n =
8
Gauss-Seidol迭代法
clear;
clc;
A=[7 2 1 -2;9 15 3 -2;-2 -2 11 5;1 3 2 13];
b=[4 7 -1 0];
N=length(b); %解向量的维数
fprintf(库函数计算结果:);
x=inv(A)*b; %库函数计算结果
x=zeros(N,1);%迭代初始值
%-----(A=D-E-F)------
D=diag(diag(A));
E=-tril(A,-1);%下三角
F=-triu(A,1);%上三角
B=inv(D-E)*F;
g=inv(D-E)*b;
eps=0.0001;%相邻解的距离小于该数时,结束迭代
%--------开始迭代-------
for k=1:100 %最大迭代次数为100
fprintf(第%d次迭代:,k);
y=B*x+g;
fprintf(\n与上次计算结果的距离(2范数):%f \n,norm(x-y)^2);
if norm(x-y)eps
break;
end
x=y
end
x
结果
第1次迭代:
与上次计算结果的距离(2范数):0.349202
x =
0.571428571428571
0.123809523809524
0.035497835497836
-0.077988677988678
第2次迭代:
与上次计算结果的距离(2范数):0.005125
x =
0.508700822986537
0.143948115376687
0.063203751515440
-0.082073282472883
第3次迭代:
与上次计算结果的距离(2范数):0.000119
x =
0.497821921826489
0.144389658937968
0.063162688535757
-0.081332021208608
第4次迭代:
与上次计算结果的距离(2范数):0.000000
x =
0.497913421595870
0.144441806507512
0.062851869295437
-0.081303275362252
第5次迭代:
与上次计算结果的距离(2范数):0.000000
x =
0.497913421595870
0.144441806507512
0.062851869295437
-0.081303275362252
对于精度,从程序计算结果来看,收敛最快,最慢。
二 欧拉法 MATLAB
取步长,用Eu
您可能关注的文档
- 教案第五单元 法教案第五单元 除法.doc
- 教案: 呼吸衰竭病的护理教案: 呼吸衰竭病人的护理.doc
- 教案首页001教案页001.doc
- 教案:说声谢谢教案说声谢谢.doc
- 教案:成本管理教案成本管理.doc
- 教研室计划总结教研计划总结.doc
- 教研室课题研究申报教研室课题研究申报表.doc
- 教研工作计划 2教工作计划 2.doc
- 教研引领 课堂践 教学并进教研引领 课堂践行 教学并进.doc
- 教研教改论文题目教教改论文题目.doc
- 2023-2024学年广东省深圳市龙岗区高二(上)期末物理试卷(含答案).pdf
- 2023-2024学年贵州省贵阳市普通中学高一(下)期末物理试卷(含答案).pdf
- 21.《大自然的声音》课件(共45张PPT).pptx
- 2023年江西省吉安市吉安县小升初数学试卷(含答案).pdf
- 2024-2025学年广东省清远市九校联考高一(上)期中物理试卷(含答案).pdf
- 广东省珠海市六校联考2024-2025学年高二上学期11月期中考试语文试题.pdf
- 2024-2025学年语文六年级上册第4单元-单元素养测试(含答案).pdf
- 2024-2025学年重庆八中高三(上)月考物理试卷(10月份)(含答案).pdf
- 安徽省安庆市潜山市北片学校联考2024-2025学年七年级上学期期中生物学试题(含答案).pdf
- 贵州省部分校2024-2025学年九年级上学期期中联考数学试题(含答案).pdf
文档评论(0)