矩阵数组和符号运算.ppt
《矩阵数组和符号运算.ppt》由会员分享,可在线阅读,更多相关《矩阵数组和符号运算.ppt(19页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第3章章矩阵、数组和符号运算矩阵、数组和符号运算7、符号方程求解符号方程求解a.线性方程组的符号解法线性方程组的符号解法b.函数命令函数命令linsolve用来求解线性方程组符号解。用来求解线性方程组符号解。c.对方程对方程A*X=B,linsolve的调用格式为:的调用格式为:d.X=linsolve(A,B)等同于等同于X=sym(A)sym(B)e.A=sym(10,-1,0;-1,10,-2;0,-2,10)f.A=g.10,-1,0h.-1,10,-2i.0,-2,10j.B=(9;7;6)k.B=l.9;7;6 linsolve(A,B)ans=473/475 91/95 376
2、/475 vpa(ans,6)ans=.995789.957895.791579矩矩阵阵A必必须须至至少少是是行行满满秩秩的的。当当A的的列列数数大大于于行数时,将给出解不惟一的警告提示。行数时,将给出解不惟一的警告提示。b.非线性方程的符号解法非线性方程的符号解法用用函数零点法函数零点法求求非线性方程非线性方程的解有两个函数命令,即的解有两个函数命令,即fzero和和fsolve。fzero命令用于求一元函数零点命令用于求一元函数零点fsolve命令用于求命令用于求解非线性方程组解非线性方程组首首先先需需将将方方程程f(x)=g(x)转转化化为为F(x)=f(x)-g(x)=0,方方程程组组
3、也也是是如如此此;然然后后再再将将函函数数F(x)写写成成MATLAB的的m函函数数,以以便在便在fzero和和fsolve命令中调用。命令中调用。求解的过程为:求解的过程为:先猜测一个先猜测一个初始零点,初始零点,或者该零点大概所在的区间;或者该零点大概所在的区间;然然后后通通过过计计算算,使使猜猜测测值值不不断断精精确确化化,或或使使猜猜测测区区间间不不断断收缩收缩,直到达到预先指定的精度为止。,直到达到预先指定的精度为止。第第3章章矩阵、数组和符号运算矩阵、数组和符号运算第第3章章矩阵、数组和符号运算矩阵、数组和符号运算求一元函数零点命令求一元函数零点命令fzero的调用格式为:的调用格
4、式为:x=fzero(fun,x0):求一元函数零点命令的最简形式;求一元函数零点命令的最简形式;x,fval,exitflag=fzero(fun,x0,options,P1,P2,.):求求一一元函数零点命令的完整格式。元函数零点命令的完整格式。x0是初始猜测的零点;是初始猜测的零点;options是是优优化化迭迭代代所所采采用用的的参参数数选选项项,options的的缺缺省省设设置置可可以以用用命命令令options=optimset(fzero)获得;获得;P1,P2是是向向函函数数fun传传递递的的附附加加参参数数。它它的的具具体体取取名名和和函函数数fun中中一一致;致;x是输出参
5、数,为所求的零点自变量值;是输出参数,为所求的零点自变量值;fval是输出参数,为函数是输出参数,为函数fun在在x处的值;处的值;exitflag是是描描述述函函数数fun的的退退出出情情况况。若若exitflag0,则则表表示示找找到到函函数数零零点点后后退退出出;若若exitflag0,则则表表示示没没有有找找到到零零点点或或在在搜搜索索过过程程中中遇遇到到了无穷大的函数值。了无穷大的函数值。第第3章章矩阵、数组和符号运算矩阵、数组和符号运算用用fzero命令求解函数命令求解函数 的零点的零点(1)建立函数建立函数f(x)的的M文件。文件。function y=fun1(x)y=x.4-
6、4*x-5;(2)建立水平横轴的建立水平横轴的M文件。文件。function y=fun2(x)y=0;(3)用作图法估计函数零点位置。用作图法估计函数零点位置。fplot(fun1,-5,5,r)hold on fplot(fun2,-5,5,r)(4)用)用zoom和和ginput命令获得零点的初始近似值命令获得零点的初始近似值在在程程序序中中输输入入下下列列命命令令,可可得得到到函函数数的的局局部部放放大大图图及及鼠鼠标标操作线操作线。zoom on%局部放大命令 tt=ginput(1)yy=ginput(1)%用鼠标获取 2 个零点猜测值 zoom off%恢复原来图形大小 显示所得
7、零点初始猜测值,结果为:显示所得零点初始猜测值,结果为:tt=-0.9838 0.0001 yy=1.8762 0.0091(5)用函数用函数fzero命令求函数的精确零点命令求函数的精确零点 x,fval,exitflag=fzero(fun1,tt(1),)%靠近 tt(1)点处的精确零点 x,fval,exitflag=fzero(fun1,yy(1),)%靠近 yy(1)点处的精确零点 结果为:结果为:Zero found near tt.x=-1 fval=0 exitflag=1 第第3章章矩阵、数组和符号运算矩阵、数组和符号运算Zero found near yy.x=1.881
8、2 fval=-6.2172e-015 exitflag=1解非线性方程组的解非线性方程组的函数命令函数命令fsolve其调用格式为:其调用格式为:x=fsolve(fun,x0):解解非非线线性性方方程程组组最最简简单单的的调调用用格格式式。该式中除两个输入参数外,其余输入输出参数都可以缺省;该式中除两个输入参数外,其余输入输出参数都可以缺省;x,fval,exitflag,output,jacob=fsolve(fun,x0,options,P1,P2.):解非线性方程组最完整的调用格式。解非线性方程组最完整的调用格式。x0是表示零点数是猜测值的向量;是表示零点数是猜测值的向量;optio
9、ns是是优优化化迭迭代代所所采采用用参参数数的的结结构构数数组组。P1和和P2是向函数是向函数fun传递的参数;传递的参数;x和和fval是输出参数,所求零点的自变量值和函数值;是输出参数,所求零点的自变量值和函数值;output是输出此命令所用的计算方法、迭代次数等信息。是输出此命令所用的计算方法、迭代次数等信息。jacob是函数在是函数在x处的处的jacobian。第第3章章矩阵、数组和符号运算矩阵、数组和符号运算第第3章章矩阵、数组和符号运算矩阵、数组和符号运算求方程组求方程组的根。的根。首先编制函数文件首先编制函数文件fc.mfunction y=fc(x)y(1)=x(1)-0.7*
10、sin(x(1)-0.2*sin(x(2);y(2)=x(2)-0.7*cos(x(1)+0.2*sin(x(2);y=y(1),y(2);然后用然后用fsolve求解求解x,fval,exitflag,output,jacob=fsolve(fc,1.,1.,)%1.,1.为初值为初值x=0.3367 0.5553fval=1.0e-008*0.2029 0.5242exitflag=1output=firstorderopt:5.7877e-009 iterations:5 funcCount:16 cgiterations:4 algorithm:1x43 charjacob=(1,1)
11、0.3393 (2,1)0.2313 (1,2)-0.1700 (2,2)1.1700求方程组求方程组的解。的解。初始零点猜测值为:初始零点猜测值为:x0,y0=0.0,-0.0058 用用fsolve函数命令求精确解函数命令求精确解 fun=sin(x(1)+x(2),x(1)+6*x(2);%用字符串表达式形式命令用字符串表达式形式命令。注意自变量必须写成注意自变量必须写成x(1)和和x(2)fun函数也可用函数也可用M函数文件的形式函数文件的形式 function yy=fun(x)yy(1)=sin(x(1)+x(2);yy(2)=x(1)+6*x(2);XX,YY=fsolve(fu
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 矩阵 数组 符号 运算
限制150内