ImageVerifierCode 换一换
格式:DOCX , 页数:36 ,大小:322.98KB ,
资源ID:2933349      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/2933349.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(矩阵和数值分析实验作业.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

矩阵和数值分析实验作业.docx

1、矩阵和数值分析实验作业一 求累加值原题:设,分别编制从小到大和从大到小的顺序程序计算,并指出有效位数。解:1.从小到大a. 程序代码:lejia1.mformat longN=input(请输入N=); s=0;for j=2:N s=s+1/(j*j-1);end%求近似值s1=s*10(5);s2=fix(s1);%取五位数字S=10(-5)*s2;a=0.5*(1.5-1/N-1/(N+1);y=abs(S-a);for i=0:100 if y=1/2*10(-i) break end%判断有效数字的位数enddisp(结果是:);Sdisp(有效数字的位数是:);i-1b. 运行结果

2、:2从大到小a.程序代码:leijia2.mformat longN=input(please input N:); s=0;for j=2:N s=s+1/(N-j+2)2-1;end%求近似值s1=s*10(5);s2=fix(s1);S=10(-5)*s2;%取五位数字a=0.5*(1.5-1/N-1/(N+1);y=abs(S-a);for i=0:100 if y=1/2*10(-i) break end%判断有效数字位数enddisp(结果是:);Sdisp(有效数字的位数是:);i-1b.运行结果:二 解线性方程组1. 原题:分别Jacobi迭代法和Gauss-Seidel迭代法

3、求解线性方程组迭代法计算停止条件为:。解:1.Jacobi迭代法:a. 程序代码:Jacobi.mA=input(请输入矩阵 A=);b=input(请输入列向量b=);X=input(请输入初始值X=);S=input(请输入终止条件S=);max1=100;%最大循环次数 B=diag(A); G=diag(B);%求对角阵 D=inv(G);%求对角阵的逆矩阵 P=G-A; for k=1:max1 Y=D*P*X+D*b; Z=abs(Y-X); t=max(Z); X=Y; If t.G-S迭代法:a. 程序代码:GS.mA=input(请输入矩阵 A=);b=input(请输入列向

4、量b=);X=input(请输入初始值X=);S=input(请输入终止条件S=);max1=100;%最大循环次数 C=diag(A); P=diag(C);%求A的对角阵 U=-triu(A)+P;%求A的下三角阵 G=A+U; D=inv(G);for k=1:max1 Y=D*U*X+D*b; Z=abs(Y-X); t=max(Z); X=Y; if(t.Gauss列主元消去法:a. 程序代码:GAUSS.mA=input(请输入系数矩阵 A=);b=input(请输入列向量b=);G=A,b;B=;%定义一个空矩阵t=size(b);%求系数矩阵的维数k=t(1,1);%求系数矩阵

5、的维数for i=1:k C=0; for e=i:k C(e)=abs(G(e,i); end l=max(C);%挑选最大值 l2=find(C=l); l1=l2(1,1); T=G(l1,:); G(l1,:)=G(i,:); G(i,:)=T;%选主元,交换最大值所在的行 disp(主元调整后的矩阵:); G for j=i+1:k P=-G(j,i)/G(i,i); B(j,:)=P*G(i,:)+G(j,:); G(j,:)=B(j,:); end%进行消元 disp(消元后的矩阵:); Gendb=G(:,k+1);G(:,k+1)=;X=;for m=1:k X(k-m+1)

6、=b(k-m+1)/G(k-m+1,k-m+1); b=b-X(k-m+1)*G(:,k-m+1);end%求方程组的解disp(方程组的解:);Xb. 运行结果:2.QR法:a. 程序代码:QR.mA=input(请输入系数矩阵 A=);b=input(请输入列向量b=);m=size(A);k=m(1,1);%计算A的维数B=A;M=eye(size(A);%定义一个与A同维数的单位矩阵Q=M;for r=1:k-1; I=eye(size(B); e=I(:,1); a=B(:,1);%取出B的第一列 d=norm(a); w=a-d*e; c=rot90(w); H=I-2*w*c/(

7、c*w);%求变换矩阵 P=H*B; B=P; B(1,:)=; B(:,1)=; for i=1:k-r+1 for j=1:k-r+1 M(r+i-1,r+j-1)=H(i,j); end end %将变换矩阵H变成k维 Z=M; M=eye(size(A); Q=Z*Q;endQ R=Q*A; RX=;b=Q*b;for u=1:k X(k-u+1)=b(k-u+1)/R(k-u+1,k-u+1); b=b-X(k-u+1)*R(:,k-u+1);end%计算方程组的解disp(方程组的解:);Xb. 运行结果:三 非线性方程的迭代解法1.原题:用Newton迭代法求解方程的根,计算停止

8、的条件为:。解:a.程序代码:newton.msyms x;f=input(请以x为变量输入函数f=);s=input(请输入终止条件s=);X=input(请输入初始值X=);max1=100;%最大循环次数 p=diff(f);%求f的导函数for k=1:max1 y=X-subs(f,X)/subs(p,X);%迭代公式 m=abs(y-X); X=y; if(ms)%终止条件 break endenddisp(方程的根:);Xa. 运行结果:2原题:利用Newton迭代法求多项式的所有实零点,注意重根的问题。解:a. 程序代码:new.mfunction X=newton1(X,s)

9、syms x;f=x4-5.4*x3+10.56*x2-8.954*x+2.7951;max1=20;p=diff(f);for k=1:max1 y=X-subs(f,X)/subs(p,X); m=abs(y-X); X=y; if(ms) break endend%定义一个newton迭代法求线性方程组的的函数syms x;f=input(请以x为变量输入多项式f=);c=input(请输入多项式的次数c=);a=input(请输入根所在的估计的最大区间的左端点a=);b=input(请输入根所在的估计的最大区间的右端点b=);n=input(请输入将a,b区间分成的个数n=);s=in

10、put(请输入newton搜索时的终止条件s=);A=a:(b-a)/n:b;%将区间n等分disp(n等分后的区间为:);Afor i=1:n Y(i)=subs(f,A(i); Y(i+1)=subs(f,A(i+1); if Y(i)*Y(i+1)=100*s break end%判断根的重数 end if e1 disp(根的重数:); X(j) disp(的重数:); disp(e); p=p+e-1;%对根重数大于1的重数进行累加 end if p=k-c break %判断重数是否已达到总重数 endendb. 运行结果:四 数值积分原题:分别用复化梯形公式和Romberg公式计

11、算积分要求误差不超过10-5,并给出节点个数。解:1.复化梯形公式:a. 程序代码:fuhuatixing.mformat long;syms x; f=input(请以x为自变量输入函数f=);a=input(请输入积分区域左端点a=);b=input(请输入积分区域右端点b=);s=input(请输入终止条件s=);n=100;X=a:(b-a)/n:b;t1=0;fa=subs(f,a);fb=subs(f,b);for i=2:n t1=t1+subs(f,X(i); T(i)=(b-a)*(fa+fb+2*t1)/(2*n);%用复化梯形公式计算积分结果 if (T(i)-T(i-1

12、).Romberg公式:a. 程序代码:romberg.msyms x; f=input(请以x为自变量输入函数f=);a=input(请输入积分区域左端点a=);b=input(请输入积分区域右端点b=);s=input(请输入终止条件s=);T(1,1)=1/2*(subs(f,a)+subs(f,b);n=100;for i=2:n q1=0; for e=1:(2(i-2) q1=q1+subs(f,(a+(2*(e-1)+1)*(b-a)/2(i-1); end q=(b-a)*q1/2(i-1); T(i,1)=1/2*T(i-1,1)+q;%计算复化梯形得出的值 for j=2:i T(i,j)=(4(j-1)*T(i,j-1)-T(i-1,j-1)/(4(j-1)-1);%计算n大于2时复化newton-cotes的值 end if abs(T(i,i)-T(i-1,i-1)s%判断条件 break endend disp(T数表:); Tdisp(积分结果:); T(i,i)b. 运行结果:

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1