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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

matlab程序总结.docx

1、matlab程序总结程序总结1、简单计算A:x255=xxxB:x255=xx2x4x8x16x32x64x1282. 算法1 (输入a(i)(i=0,1,,n),x;输出 算法2 (秦九韶算法)3.s=0;for i=1:n s=s+abs(x(i);End4.s=0; s=0;for i=1:n for i=1:n s=s+x(i)2; s=s+x(i)*x(i);end ends=sqrt(s) s=sqrt(s)5.s=0;for i=1:n if abs(x(i)s,s=abs(x(i);endend6. LU分解的matlap程序function A=lud(A)%功能:对方阵A作

2、三角分解A=LU,其中,% L为单位下三角阵,U为上三角阵,%输入:方阵A。%输出:紧凑存储A=LU.%注意:当A的主元=0时退出Matlabfor k=1:n-1for i=k+1:n if A(k,k) =0 quit; end A(i,k) =A(i,k)/ A(k,k); A(i,k+1:n)= A(i,k+1:n)- A(i,k) *A(k,k+1:n); endend7. 列主元Gauss消元法Lupd.m %功能:对方阵A作列主元三角分解PA=LU,其中,% L为单位下三角阵,U为上三角阵,排列阵P%用向量p表示。%输入:方阵A。%输出:紧凑存储LU=LU,以及p。%注意:当A奇

3、异时退出Matlab.function LU,p=lupd(A)%初始化n=length(A); p=1:n; LU=A;%分解过程for k=1:n%搜索列主元ik s,i=max(abs(LU(k:n,k); ik=i+k-1;%判断矩阵的奇异性if s=0 quit; end%行交换 if ik=k m=p(k); p(k)=p(ik); p(ik)=m; lk=LU(k,:); LU(k,:)=LU(ik,:); LU(ik,:)=lk; end%用消元法计算LU=LU if k=n break; end LU(k+1:n,k)=LU(k+1:n,k)/LU(k,k); LU(k+1:

4、n,k+1:n)=LU(k+1:n,k+1:n)-LU(k+1:n,k)* LU(k,k+1:n);End8. Householder矩阵变换function H,y=holder1(x)n=length(x);M=max(abs(x);if M=0, disp(M=0); return;else z=x/M;end;s=norm(z);if z(1)0 s=-s;endp=s*(s+z(1);u=z;u(1)= s+z(1);H=eye(n,n)-pu*u;y=zeros(n,1);y(1)=-M*s;9、解上三角方程function X=backsub(A,b)%InputA is an

5、nn upper- triangular nonsingullar matrix% -b is an n1 matrix%OutputX is the solution to the system AX=bn=length(b);X=zeros(n,1);X(n)=b(n)/A(n,n);for i=n-1:-1:1 X(i)=(b(i)-A(i,i+1:n)* X(i+1:n)/A(i,i);End10、matlap中高斯消元法function X=gauss(A,b)%InputA is an nn nonsingullar matrix% -b is an n1 matrix%Outpu

6、tX is the solution to the system AX=bn n=size(A); % 确定A的维数X=zeros(n,1);for k=1:n-1 for i=k+1:n % 消元过程 m=A(i,k)/ A(k,k); % A(k,k) 0 A(i,k+1:n)= A(i,k+1:n)-m*A(k,k+1:n); b(i)= b(i)-m*b(k); endendX=backsub(A, b); %回代求解11. 用矩阵分解法列主元的三角分解求解线性方程组lupdsv.m %功能:调用列主元三角分解函数LU,p=lupd(A)% 求解线性方程组Ax=b。%解法:PA=LU,

7、 Ax=bPAx=Pb % LUx=Pb, y=Ux % Ly=f=Pb, f(i)=b(p(i)%输入:方阵A,右端项b(行或列向量均可)%输出:解x(行向量)function x=lupdsv(A,b)n=length(b);LU,p=lupd(A);y(1)=b(p(1);for i=2:n y(i)=b(p(i)-LU(i,1:i-1)*y(1:i-1);endx(n)=y(n)/LU(n,n); for i=(n-1):-1:1 x(i)=(y(i)-LU(i,i+1:n)*x(i+1:n)/LU(i,i);end12. 用全主元的三角分解求解线性代数方程组function x=lu

8、pqdsv(A,b)n=length(b);LU,p,q=lupqd(A);y(1)=b(p(1);for i=2:n y(i)=b(p(i)-LU(i,1:i-1)*y(1:i-1);endz(n)=y(n)/LU(n,n);x(q(n)=z(n);for i=(n-1):-1:1 z(i)=(y(i)-LU(i,i+1:n)*z(i+1:n)/LU(i,i); x(q(i)=z(i);end13、G-S迭代法求解function x,k=gs(A,b)n n=size(A);x=zeros(1,n);for k=1:1000 error=0; for i=1:n s=0;xb=x(i);

9、for j=1:n if i=j,s=s+A(i,j)*x(j);end end x(i)=(b(i)-s)/A(i,i); error=error+abs(x(i)-xb); endif error/n0.0001,break;endendfprintf(k.no.=%3.0f,error=%7.2en,k,error)14.Gauss-Seidel迭代法参考程序: n=9;b(2:n+1,2:n+1)=0.02;U=zeros(n+2,n+2);e=0.000000001;for k=1:1000 %迭代求解 er=0; for j=2:n+1 for i=2:n+1 Ub=U(i,j);

10、 U(i,j)=(U(i-1,j)+U(i+1,j)+U(i,j-1)+U(i,j+1)+b(i,j)/4; er=er+abs(Ub-U(i,j); %估计当前误差end end if er/n2e,break;end %判断是否达到计算精度,如果达到则退出循环end15.追赶法程序function u,k,=kgs1(n)f=0.02*ones(n+2,n+2);a=-1*ones(1,n+2); b=4*ones(1,n+2);c=-1*ones(1,n+2); d=zeros(1,n+2);u=zeros(n+2,n+2);e=0.000000001;for k=1:1000 % 迭代

11、求解 er=0; for j=2:n+1 Ub=u(:,j); d(:)=f(:,j)+u(:,j-1)+u(:,j+1) ; % 块Gauss-Seidel迭代 z(2)=b(2);y(2,j)=d(2); for i=3:n+1 % 追赶法求解之追过程 求解Ly=d l(i)=a(i)/z(i-1); z(i)=b(i)-l(i)*c(i-1); y(i,j)=d(i)-l(i)*y(i-1,j); endu(n+1,j)=y(n+1,j)/z(n+1); % 追赶法求解之赶过程 求解Uz=y for m=n:-1:2 u(m,j)=(y(m,j)-c(m)*u(m+1,j)/z(m);

12、end er=er+norm(Ub-u(:,j),1); % 估计误差end if er/n2e ,break;end % 判断是否达到计算精度,如果达到则退出循环end function u,k=kgs2(n)f=2*1/(n+1)2*ones(n+2,n+2);a=-1*ones(1,n); b=4*ones(1,n);c=-1*ones(1,n); u=zeros(n+2,n+2);e=0.00001;for k=1:2000 er=0; for j=2:n+1 Ub=u(:,j); d(1:n)=f(2:n+1,j)+u(2:n+1,j-1)+u(2:n+1,j+1) ; x=zg(a

13、,b,c,d);u(2:n+1,j)=x; er=er+norm(Ub-u(:,j),1); end if er/n2e ,break;end end16.计算zclear;x=-8:0.5:8; y=x; X=ones(size(y)*x; Y=y*ones(size(x); R=sqrt(X.2+Y.2)+eps; Z=sin(R)./R; 17.计算方程的两个根函数定义行: function x1,x2=ff(a,b,c) H1 %ff.m:this file is to solve %algebra equation ax2+bx+c=0 帮助文本 %a,b,c:input argum

14、ents %x1,x2:output arguments,as are the %roots of equation dta=b2-4*a*c; % calculating % discriminant s1=-1*b+sqrt(dta); s2=-1*b-sqrt(dta);函数体 %calculation roots of equation x1=s1/2; x2=s2/2;18生成Hilbert矩阵 for i=1:3 for j=1:4 a(i,j)=1/(i+j-1); end end format rat19.计算矩阵中负数的个数i=0 ; c=0; x=-2 0 15 6 8 0 6 9 0 while ilength(x)+1 i=i+1 if x(i)0,c=c+1;end endc20用“求逆”法求解 方程的根tic xi=inv(A)*b; ti=toc eri=norm(x-xi) rei=norm(A*xi-b)/norm(b)(2)用“左除”法求解 tic;xd=Ab; td=toc, erd=norm(x-xd), red=norm(A*xd-b)/norm(b)

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

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