矩阵上机作业

发布 2022-09-05 09:19:28 阅读 8060

《矩阵与数值分析》课程数值实验报告。

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.设为矩阵,为阶可逆方阵,则。二 填空题。设。则且与都正交的所有向量为。三 设阶方阵满足。试证明 四 给定的两个基。和。若定义线性变换为 ...