915225-MATLAB程序设计与应用-第8章MATLAB方程数值求解__源程序_第1页
915225-MATLAB程序设计与应用-第8章MATLAB方程数值求解__源程序_第2页
915225-MATLAB程序设计与应用-第8章MATLAB方程数值求解__源程序_第3页
915225-MATLAB程序设计与应用-第8章MATLAB方程数值求解__源程序_第4页
915225-MATLAB程序设计与应用-第8章MATLAB方程数值求解__源程序_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第8章 MATLAB方程数值求解例8T 用直接解法求解下列线性方程组。程序如下:A=2,1,-5,1;1Z-5Z0,7;0,2,1,-1;1, 6,-1,-4; b=13,-9f6,0f;x=Ab例8-2用LU分解求解例8-1中的线性方程组。程序如下:A=2,1,-5,1;1,-5,0,7;0,2,1,-1;1, 6,-1,-4; b=13,-9,6,01;LzU=lu(A);x=U(Lb)例8-3用QR分解求解例8-1中的线性方程组。程序如下:A=2,1,-5,1;1,-5,0,7;0,2,1,-1;1, 6,-1,-4; b=13,-9,6,01;Q,R=qr(A);x=R(Qb)例8-4

2、用Cholesky分解求解例8-1中的线性方程组。 命令如下: A=2/lz-5zl;lz-5,0z7;0z2zl,-l;lz 6,-1,-4 b=13r-9z6z0; R=chol(A)Jacobi迭代法的MATLAB函数文件jacobi.m如下: function yz n=jacobi(A,b,xO,ep) if nargin=3ep=l 0e-6;elseif nargin=epxO=y;y=B*xO+f;n=n+l;end例8-5用Jacobi迭代法求解下列线性方程组。设迭代初值为0,迭代精度为10%在程序中调用函数文件jacobi.m,程序如下:A=10z-lz 0;-lz10z-

3、2;0,-2,10;b=9,7z6xz n=jacobi(Azb, 0r 001z1.Oe-6)Gauss-Serdel迭代法的MATLAB函数文件gauseidel.m如下:function yz n=gauseidel(A,b,x0z ep)if nargin=3ep=l Oe-6;elseif nargin=epx0=y;y=G*xO+f;n=n+l;end例8-6用Gauss-Serdel迭代法求解例8-5中的线性方程组。在程序中调用函数文件gauseidel.m,程序如下:A=10z-l,0;-1,10,-2;0,-2,10;b=9几xz n=gauseidel(Ar 0,0,0 r

4、 10e-6)例8-7分别用Jacobi迭代和Gauss-Serdel迭代法求解下列线性方程组,看是否收敛。命令如下: a=lz2,-2;lrlzl;2z2,l; b=(9;7;6; xrn=jacobi(arbr 0;0;0) xrn=gauseidel(azb, 0;0;0)有了上而这些讨论,下面设计一个求解线性方程组的函数文件line.solution.nu function x,y=line_solution(Arb)mz n=size (A);Y=;if norm(b) 0$非齐次方程组if rank(A)=rank(A,b)if rank (A) =n$有唯一解disp L原方程组

5、有唯一解x,) x=Ab;else令方程组有无穷多个解,基础解系disp(原方程组有无穷个解,特解为x, 其齐次方程组的基础解系为 Y1)x=Ab;y=null(Az 1r1);endelsedisp (方程组无解,)乡方程组无解x=;endelse$齐次方程组disp(!原方程组有零解xjx=zeros (nr1);令0 解if rank(A)ndispf方程组有无穷个解,基础解系为yj $非0解 y=null(A,1r1);endend例8-8求解方程组。程序如下:A=1,-2,3,-1;3,-1,5,-3;2,1,2,-2;b=1;2;3;xz y=line_solution(Az b)

6、例8-9求方程组的通解。X + 兀2 _ 3勺-x4 = 1o.i-30*-V s.t. 0. 5.tx +.r2 0. 5耳20,毛0首先编写立义目标函数函数文件fop.m。function f=fop (x)f=0.4*x(2)+x(l)八2+x(2)A2-x(l)*x(2)+l/30*x(1)A3;再设定约束条件,并调用fmincon函数求解此约束最优化问题,程序如下: x0=0.5;0.5;A=If0.5;0.5,1;b=-0.4;-0.5;lb=0;0;option=optimset;option LargeScale=off;option Display=foff1;xz f =f

7、mincon (fop, x0z Arbz r , lbz , r option)例8T6求解线性规划问题。min/(T) = 一 5x】一 4x2 一 6x3x1-x2+x320X s r Qxi +2x2 +4x3 =42 |3x1+2x20, x2 0, x3 0命令如下:f=-5;-4;-6;A=l,-l/l;3z2z4;3r2r0;b=20;42;30;Aeq=;3eq=;LB=zeros (3,1);x, favl=linprog(f,Az b,Aeq,Beqz LB)例8-17 设有初值问题,试求其数值解,并与精确解相比较(精确解为建立函数文件funt.nio function

8、yp=funt(t, y) yp=(yA2-t-2)/4/(t+1);求解微分方程,程序如下:t0=0;tf=10;y0=2;$求数值解$求精确解%通过图形来比较t/y=ode23(funt, t0z tfryO); yl=sqrt(t+1)+1;plot(t,y, fb.,ylz 1r-1)例8T8已知一个二阶线性系统的微分方程为:取a=2,绘制系统的时间响应曲线和相平而图。函数odc23和odc45是对一阶常微分方程组设计的,因此对高阶常微分方程,需先将 它转化为一阶常微分方程组,即状态方程。令x2=x, X1=X则得到系统的状态方程: 片=-ax2x2 (0) = 0, X| (0) = 1建立函数文件sys.m。function xdot=sys(tz x)xdot=-2*x(2);x (1);取to=o, tf=20,求微分方程的解,程序如下:to=o;tf=20;tz x=ode45(sys, t0z tfr 1,0);程序运行后,查看结果。 t,x为直观地表示方程的解,可以绘制方

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论