Matlab求解线性方程组、非线性方程组_第1页
Matlab求解线性方程组、非线性方程组_第2页
Matlab求解线性方程组、非线性方程组_第3页
Matlab求解线性方程组、非线性方程组_第4页
Matlab求解线性方程组、非线性方程组_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

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

文档简介

1、求解线性方程组solve,linsolve例:A=5042;1-121;4120;1111;%矩阵的行之间用分号隔开,元素之间用逗号或空格B=3;1;1;0X=zeros(4,1);%建立一个 4 元列向量X=linsolve(A,B)diff(fun,var,n):对表达式 fun 中的变量 var 求 n 阶导数。例如:F=sym(u(x,y)*v(x,y);%sym()用来定义一个符号表达式diff(F);%matlab 区分大小写pretty(ans)%pretty():用习惯书写方式显示变量;ans 是答案表达式非线性方程求解fsolve(fun,x0,options)其中 fun

2、为待解方程或方程组的文件名;x0 位求解方程的初始向量或矩阵;option 为设置命令参数建立文件 fun.m:functiony=fun(x)y=x(1)-0.5*sin(x(1)-0.3*cos(x(2),.x(2)-0.5*cos(x(1)+0.3*sin(x(2);clear;x0=0.1,0.1;fsolve(fun,x0,optimset(fsolve)注:为续行符m 文件必须以 function 为文件头,调用符为;文件名必须与定义的函数名相同;fsolve()主要求解复杂非线性方程和方程组,求解过程是一个逼近过程。Matlab 求解线性方程组AX=B 或 XA=B在 MATLA

3、B 中,求解线性方程组时,主要采用前面章节介绍的除法运算符”和;如:X=AB 表示求矩阵方程 AX=B 的解;X=B/A 表示矩阵方程 XA=B 的解。对方程组 X=AB,要求 A 和 B 用相同的行数,X 和 B 有相同的列数,它的行数等于矩阵 A 的列数,方程 X=B/A 同理。如果矩阵 A 不是方阵,其维数是力 n,则有:m=n 恰定方程,求解精确解;mn 超定方程,寻求最小二乘解;mm。则方程组没有精确解,此时称方程组为超定方程组。线性超定方程组经常遇到的问题是数据的曲线拟合。对于超定方程,在 MATLAB 中,利用左除命令(x=Ab)来寻求它的最小二乘解;还可以用广义逆来求,即 x=

4、pinv(A),所得的解不一定满足 Ax=b,x 只是最小二乘意义上的解。左除的方法是建立在奇异值分解基础之上,由此获得的解最可靠;广义逆法是建立在对原超定方程直接进行 householder 变换的基础上,其算法可靠性稍逊与奇异值求解,但速度较快;【例 7】求解超定方程组A=2-13;31-5;4-11;13-13A=2 -133 1-54 -1113-13b=303-6;rank(A)ans=3x1=Abx1=1.00002.00001.0000 x2=pinv(A)*bx2=1.00002.00001.0000A*x1-bans=1.0e-014-0.0888-0.0888-0.1332

5、0可见 x1 并不是方程 Ax=b 的精确解, 用 x2=pinv(A)*b 所得的解与 x1 相同。 三.欠定方程组欠定方程组未知量个数多于方程个数,但理论上有无穷个解。MATLAB 将寻求一个基本解,其中最多只能有 m 个非零元素。特解由列主元 qr 分解求得。【例 8】解欠定方程组A=1-211;1-21-1;1-215A=1-2111-21-11-21-11-215b=1-15x1=AbWarning:Rankdeficient,rank=2tol=4.6151e-015x1=0-0.000001.0000 x2=pinv(A)*bx2=0-0.00000.00001.0000四.方程

6、组的非负最小二乘解在某些条件下,所求的线性方程组的解出现负数是没有意义的。虽然方程组可以得到精确解,但却不能取负值解。在这种情况下,其非负最小二乘解比方程的精确解更有意义。在 MATLAB 中,求非负最小二乘解常用函数 nnls,其调用格式为:(1) X=nnls(A,b)返回方程Ax=b的最小二乘解, 方程的求解过程被限制在x的条件下;(2)X=nnls(A,b,TOL)指定误差 TOL 来求解,TOL 的默认值为TOL=max(size(A)*norm(A,1)*eps,矩阵的一 1 范数越大,求解的误差越大;(3) X,W=nnls(A,b)当 x(i)=0 时,w(i)0 时,w(i)0,同时返回一个双向量 Wo【例 9】求方程组的非负最小二乘解A=3.4336-0.52380.6710-0.52383.2833-0.73020.6710-0.73024.0261;b=-1.0001.50002.5000;X,W=nnls(A,b)X=00.65630.6998W=-3.6820

温馨提示

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

评论

0/150

提交评论