矩阵分析与数值分析实验报告

上传人:cl****1 文档编号:494714769 上传时间:2022-11-16 格式:DOCX 页数:16 大小:152.74KB
返回 下载 相关 举报
矩阵分析与数值分析实验报告_第1页
第1页 / 共16页
矩阵分析与数值分析实验报告_第2页
第2页 / 共16页
矩阵分析与数值分析实验报告_第3页
第3页 / 共16页
矩阵分析与数值分析实验报告_第4页
第4页 / 共16页
矩阵分析与数值分析实验报告_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《矩阵分析与数值分析实验报告》由会员分享,可在线阅读,更多相关《矩阵分析与数值分析实验报告(16页珍藏版)》请在金锄头文库上搜索。

1、矩阵分析与数值分析实验报告院系:姓名:学号:所在班号:任课老师:一.设错误!未找到引用源。,分别编制从小到大和从大到小的顺序程序计算错 误!未找到引用源。并指出有效位数。程序如下:function sum3j=input(请输入求和个数j”:);A=0;B=0;double B;double A;for n=2:jm=n2-1;t=1./m;A=A+t;enddisp(从小到大:)s=Afor n=j:-1:2m=n2-1;t=1./m;B=B+t;enddisp(从大到小:)s=B运行结果: sum3请输入求和个数j:100从小到大:s =0.740049504950495从大到小:s =0

2、.740049504950495 sum3请输入求和个数j:10000从小到大:s =0.749900004999506从大到小:s =0.749900004999500 sum3请输入求和个数j:1000000从小到大:s =0.749999000000522从大到小:s =0.749999000000500二、解线性方程组1分别Jacobi迭代法和Gauss-Seidel迭代法求解线性方程组。J 2100 I11f-厂1- 210x02=01-21x03 001一 2I x J0 U J迭代法计算停止的条件为: max x( k+1)一 x( k, 10 -6。1j3 j j解:(1)Ja

3、cobi迭代法程序代码:function jacobi(A, b, N) clc;clear;A=-2 1 0 0;1 -2 1 0;0 1 -2 1;0 0 1 -2;b=-1 0 0 0;N=100;n = size(A,1);D = diag(diag(A);L = tril(-A,-1);U = triu(-A,1);Tj = inv(D)*(L+U);cj = inv(D)*b;tol = 1e-06;k = 1;format longx = zeros(n,1);while k = Nx(:,k+1) = Tj*x(:,k) + cj;disp(k); disp(x = );dis

4、p(x(:,k+1);if norm(x(:,k+1)-x(:,k) toldisp(The procedure was successful)disp(Condition |x(k+1) - x(k)| tol was met after k iterations) disp(k); disp(x = );disp(x(:,k+1);breakendk = k+1;end结果输出The procedure was successfulCondition |x(k+1) - x(k)| tol was met after k iterations60x =0.799998799067310.5

5、99998427958700.399998056850090.19999902842505(2) Gauss-Seidel迭代法程序代码: function gauss_seidel(A, b, N) clc;clear;A=-2 1 0 0;1 -2 1 0;0 1 -2 1;0 0 1 -2;b=-1 0 0 0;N=100;n = size(A,1);D = diag(diag(A);L = tril(-A,-1);U = triu(-A,1);Tg = inv(D-L)*U;cg = inv(D-L)*b;tol = 1e-06;k = 1;x = zeros(n,1);while k

6、 = Nx(:,k+1) = Tg*x(:,k) + cg;disp(k); disp(x = );disp(x(:,k+1);if norm(x(:,k+1)-x(:,k) toldisp(The procedure was successful)disp(Condition |x(k+1) - x(k)| tol was met after k iterations) disp(k); disp(x = );disp(x(:,k+1);breakendk = k+1;end结果输出The procedure was successfulCondition |x(k+1) - x(k)| t

7、ol was met after k iterations31x =0.799999213979350.599998971085610.399999167590770.199999583795392.用Gauss列主元消去法、只方法求解如下方程组:q 2 i 2、(x )(4 :i253 - 2x72=-2 - 2 3 5x-13J 32 3 JvV x J03 J(1)Gauss列主元消去法程序代码:function x=Gaussmain(A,b)clc;clear;format longA=1 2 1 2;2 5 3 -2;-2 -2 3 5;1 3 2 3;b=4 7 -1 0;N=l

8、ength(A);x=zeros(N,1);y=zeros(N,1);c=0;d=0;A(:,N+1)=b;for k=1:N-1for i=k:4if cea=a0-subs(f,a0)/subs(df,a0);a1=a0;a0=a;N=N+1;endfprintf(a=%0.6f,a)N运行结果: newtonplease enter your equation:exp(x)+2”(-x)+2*cos(x)-6f =exp(x)+2”(-x)+2*cos(x)-6please enter you x(0):2df =exp(x)-2”(-x)*log(2)-2*sin(x)a=1.8293

9、84N =42 .利用Newton迭代法求多项式X4 - 5.4X3 +10.56X2 - 8.954% + 2.7951 = 0的所有实零点,注意重根的问题。由于不知道重根的个数,采用试探法求重根。function X=newton2() clc;clear; syms x;delta=1e-06;f=inline(x4-5.4*x”3+10.56*x2-8.954*x+2.7951);df=inline(4*x3T6.2*x”2+21.12*x-8.954);u=inline(x”4-5.4*x”3+10.56*x2-8.954*x+2.7951)/(4*x3-16.2*x”2+21.12*x-8.954) );du=inline(1-(x4-27/5*x3+264/25*x2-4477/500*x+27951/10000)/(4*x3-81/5*x2+5 28/25*x-4477/500广2*(12*x2-162/5*x+528/25);j=1;for i=0:1:3x0=i;while 1x1=x0-feval(u,x0)/feval(du,x0);err=abs(x1-x0);x0=x1;y=feval(f,x0);if (errdelta)X(j)=x1;j=j+1;breakendendendX%运行结果:% X =1.10001.10002.10001.1

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号