《矩阵与数值分析》课程数值实验报告。
1. 方程在x=3.0附近有根,试写出其三种不同的等价形式以构成两种不同的迭代格式,再用这两种迭代求根,并绘制误差下降曲线,观察这两种迭代是否收敛及收敛的快慢。
newton迭代法。
function x=juz1(x1,tol,max)
xo=x1;
t=i=1;
while i xn=xo-(2*xo^3-5*xo^2-19*xo+42)/(6*xo^2-10*xo-19);
t(i)=xn;
if abs(xn-xo) disp('迭代法收敛');
disp([xn]);
ir=xn-t;
a=linspace(0,0.1,i);
plot(a,r,'r');
title('误差下降曲线');
return;
elsexo=xn;
i=i+1;
endend
disp('迭代法不收敛');
disp('迭代最大次数的结果为:')
xn> juz1(3,10^-5,20)
迭代法收敛。
i =弦截法。function x=juz11(x1,x2,tol,max)
xo=x1;
xp=x2;
i=1;while i xn=xp-(2*xp^3-5*xp^2-19*xp+42)/(2*xp^2+2*xp*xo+2*xo^2-5*xp-5*xo-19);
t(i)=xn;
if abs(xn-xp) disp('迭代法收敛');
disp([xn]);
ir=xn-t;
a=linspace(0,1,i);
plot(a,r,'r');
title('误差下降曲线');
return;
elsexo=xp;
xp=xn;
i=i+1;
endend
disp('迭代法不收敛');
disp('迭代最大次数的结果为:')
xn> juz11(2.9,3,10^-5,20)
迭代法收敛。
i =2. 用复化梯形公式、复化辛普森公式、龙贝格公式求下列定积分,要求绝对误差为,并将计算结果与精确解进行比较:
1)用复化梯形公式求积分。
function f=txing1(a,b,n)
a,b分别为积分下限和上限,n为划分的区间个数。
while n<10^4
h1=(b-a)/n;%h1为积分区间长度。
x1=zeros(1,n+1);
for i=1:n+1
x1(i)=a+(i-1)*h1;%计算n+1个节点储存在x1中。
endy1=(2/3)*(x1.^3).*exp(x1.^2);%计算每个节点对应的函数值。
to=0;for i=1:n
to=to+h1/2*(y1(i)+y1(i+1));用梯形公式求积分。
endh2=(b-a)/(n+1);%h2为积分区间长度。
x2=zeros(1,n+2);
for i=1:n+2
x2(i)=a+(i-1)*h2;%计算n+2个节点储存在x2中。
endy2=(2/3)*(x2.^3).*exp(x2.^2);%计算每个节点对应的函数值。
tn=0;for i=1:n+1
tn=tn+h2/2*(y2(i)+y2(i+1));用梯形公式求积分。
endif abs(tn-to)<0.5*10^(-8)%进行误差判断。
i=tn计算结果。
n=n+1实际分割区间个数。
r=exp(4)-tn计算误差。
return;
elsen=n*2;
endend
disp('分割区间太长达不到精度要求');
n/2+1tn
> txing1(1,2,5)i =
n =r =-5.0604e-06
复化辛普森求积分。
function f=simpson1(a,b,n)
a,b分别为积分下限和上限。
n为分割区间个数。
while n<10^8
t=for n=n:n+1
h1=(b-a)/n;%将积分区间n等分。
x1=zeros(1,n+1);
for i=1:n+1
x1(i)=a+(i-1)*h1;%计算n+1个求积节点值并储存在x中。
endz1=(2/3)*x1.^3.*exp(x1.^2);%计算n+1个求积节点处的函数值。
y1=zeros(1,n);
for i=1:n
y1(i)=a+(2*i-1)*h1/2;%计算n个区间中点值。
endr1=(2/3)*y1.^3.*exp(y1.^2);%计算n个区间中点对应的函数值。
t=0;for i=1:n;
t=t+h1/6*(z1(i)+4*r1(i)+z1(i+1));用复化simpson公式求积分。
endt=[t,t];
endif abs(t(2)-t(1))<0.5*10^(-8)%进行误差判断。
i=t(2计算结果。
n=n+1实际分割区间个数。
r=exp(4)-t(2计算误差。
return;
elsen=2*n;
endend
disp('分割区间太长达不到精度要求');
t(2)n/2+1
> simpson1(1,2,3)i =
n =r =-2.9586e-08
龙贝格公式求积分。
function f=romberg1(a,b)
t(1,1)=(b-a)/2*(2*a^3*exp(a^2)/3+2*b^3*exp(b^2)/3);
n=1;while n<100
for k=1:n
aa=0;for i=0:(power(2,(k-1))-1);
aa=aa+2*(a+(2*i+1)*(b-a)/2^k)^3*exp((a+(2*i+1)*(b-a)/2^k)^2)/3;
endt(1,k+1)=0.5*t(1,k)+(b-a)/(2^k)*aa;
endfor m=1:n
h=1/((4^m)-1);
for k=m:n
t(m+1,k+1)=(4^m)*t(m,k+1)-t(m,k))*h;
endend
if (abs(t(n,n)-t(n+1,1+n))<0.5*10^(-8))
i=t(n,n)
return;
elsen=n+1;
endend
disp('超出最大迭代次数');
> romberg1(1,2)i =
2)复化梯形公式求积分。
function f=txing2(a,b,n)
a,b分别为积分下限和上限,n为划分的区间个数。
while n<10000
h1=(b-a)/n;%h为积分区间长度。
x1=zeros(1,n+1);
for i=1:n+1
x1(i)=a+(i-1)*h1;%计算n+1个节点储存在x1中。
endy1=2*x1./(x1.^2-3);%计算每个节点对应的函数值。
to=0;for i=1:n
to=to+h1/2*(y1(i)+y1(i+1));用梯形公式求积分。
endh2=(b-a)/(n+1);%h2为积分区间长度。
x2=zeros(1,n+2);
for i=1:n+2
x2(i)=a+(i-1)*h2;%计算n+2个节点储存在x2中。
endy2=2*x2./(x2.^2-3);%计算每个节点对应的函数值。
tn=0;for i=1:n+1
tn=tn+h2/2*(y2(i)+y2(i+1));用梯形公式求积分。
endif abs(tn-to)<0.5*10^(-8)%进行误差判断。
i=tn计算结果。
n=n+1实际分割区间个数。
r=log(6)-tn计算结果与精确值比较。
return;
elsen=n*2;
09级矩阵与数值分析上机作业
矩阵与数值分析 课程数值实验报告。矩阵05班 20906284 马强土木水利学院道路与铁道工程专业任课教师 董波。一 解线性方程组。1 问题。1 分别jacobi迭代法和gauss seidel迭代法求解教材85页例题。迭代法计算停止的条件为 2 用gauss列主元消去法 qr方法求解如下方程组 2...
矩阵实习作业
矩阵与数值分析大作业。课程名称 矩阵与数值分析 任课教师 xxx 副教授 姓名xxx学号xxxx 班级 xxxxx 学院 电信与电气工程学部 交作业时间 2011年 12月21日。2011级工科硕士研究生。矩阵与数值分析 课程数值实验题目。一 对于数列,有如下两种生成方式给出利用上述两种递推公式生成...
矩阵论测验作业
一 是非题 请在正确命题前的括号内打 否则打 1.设是的实矩阵,为维向量,则 2.设阶方阵满足,则的特征值只能是1 3.欧氏空间上的任意两种向量范数都是等价的 4.设为矩阵,为阶可逆方阵,则。二 填空题。设。则且与都正交的所有向量为。三 设阶方阵满足。试证明 四 给定的两个基。和。若定义线性变换为 ...