首页 Matlab求解线性方程组非线性方程组

Matlab求解线性方程组非线性方程组

举报
开通vip

Matlab求解线性方程组非线性方程组RevisedbyChenZhenin2021Matlab求解线性方程组非线性方程组求解线性方程组solve,linsolve例:A=[5042;1-121;4120;1111];%矩阵的行之间用分号隔开,元素之间用逗号或空格B=[3;1;1;0]X=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区分大小...

Matlab求解线性方程组非线性方程组
RevisedbyChenZhenin2021Matlab求解线性方程组非线性方程组求解线性方程组solve,linsolve例:A=[5042;1-121;4120;1111];%矩阵的行之间用分号隔开,元素之间用逗号或空格B=[3;1;1;0]X=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为待解方程或方程组的文件名;x0位求解方程的初始向量或矩阵;option为设置命令参数建立文件:functiony=fun(x)y=[x(1)*sin(x(1))*cos(x(2)),...x(2)-*cos(x(1))+*sin(x(2))];>>clear;x0=[,];fsolve(@fun,x0,optimset('fsolve'))注:...为续行符m文件必须以function为文件头,调用符为@;文件名必须与定义的函数名相同;fsolve()主要求解复杂非线性方程和方程组,求解过程是一个逼近过程。Matlab求解线性方程组AX=B或XA=B在MATLAB中,求解线性方程组时,主要采用前面章节介绍的除法运算符“/”和“\”。如:X=A\B表示求矩阵方程AX=B的解;X=B/A表示矩阵方程XA=B的解。对方程组X=A\B,要求A和B用相同的行数,X和B有相同的列数,它的行数等于矩阵A的列数,方程X=B/A同理。如果矩阵A不是方阵,其维数是m×n,则有:m=n恰定方程,求解精确解;m>n超定方程,寻求最小二乘解;mm。则方程组没有精确解,此时称方程组为超定方程组。线性超定方程组经常遇到的问题是数据的曲线拟合。对于超定方程,在MATLAB中,利用左除命令(x=A\b)来寻求它的最小二乘解;还可以用广义逆来求,即x=pinv(A),所得的解不一定满足Ax=b,x只是最小二乘意义上的解。左除的方法是建立在奇异值分解基础之上,由此获得的解最可靠;广义逆法是建立在对原超定方程直接进行householder变换的基础上,其算法可靠性稍逊与奇异值求解,但速度较快;【例7】求解超定方程组A=[2-13;31-5;4-11;13-13]A=2-1331-54-1113-13b=[303-6]’;rank(A)ans=3x1=A\bx1=x2=pinv(A)*bx2=A*x1-bans=0可见x1并不是方程Ax=b的精确解,用x2=pinv(A)*b所得的解与x1相同。三.欠定方程组欠定方程组未知量个数多于方程个数,但理论上有无穷个解。MATLAB将寻求一个基本解,其中最多只能有m个非零元素。特解由列主元qr分解求得。【例8】解欠定方程组A=[1-211;1-21-1;1-215]A=1-2111-21-11-21-11-215b=[1-15]’x1=A\bWarning:Rankdeficient,rank=2tol=x1=00x2=pinv(A)*bx2=0四.方程组的非负最小二乘解在某些条件下,所求的线性方程组的解出现负数是没有意义的。虽然方程组可以得到精确解,但却不能取负值解。在这种情况下,其非负最小二乘解比方程的精确解更有意义。在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;当下x(i)>0时,w(i)0,同时返回一个双向量w。【例9】求方程组的非负最小二乘解A=[];b=[];[X,W]=nnls(A,b)X=0W=x1=A\bx1=A*X-bans=A*x1-bans=0
本文档为【Matlab求解线性方程组非线性方程组】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
曹清华
暂无简介~
格式:doc
大小:619KB
软件:Word
页数:0
分类:企业经营
上传时间:2021-09-15
浏览量:0