矩阵数组和符号运算_第1页
矩阵数组和符号运算_第2页
矩阵数组和符号运算_第3页
矩阵数组和符号运算_第4页
矩阵数组和符号运算_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

矩阵数组和符号运算b.非线性方程的符号解法用函数零点法求非线性方程的解有两个函数命令,即

fzero和

fsolve。fzero命令用于求一元函数零点fsolve命令用于求解非线性方程组首先需将方程f(x)=g(x)转化为F(x)=f(x)-g(x)=0,方程组也是如此;然后再将函数F(x)写成MATLAB的m函数,以便在fzero和fsolve命令中调用。求解的过程为:先猜测一个初始零点,或者该零点大概所在的区间;然后通过计算,使猜测值不断精确化,或使猜测区间不断收缩,直到达到预先指定的精度为止。第3章矩阵、数组和符号运算第3章矩阵、数组和符号运算求一元函数零点命令fzero的调用格式为:◆

x=fzero(fun,x0):求一元函数零点命令的最简形式;◆[x,fval,exitflag]=fzero(fun,x0,options,P1,P2,...):求一元函数零点命令的完整格式。x0是初始猜测的零点;options是优化迭代所采用的参数选项,options的缺省设置可以用命令options=optimset(’fzero’)获得;P1,P2是向函数fun传递的附加参数。它的具体取名和函数fun中一致;x是输出参数,为所求的零点自变量值;fval是输出参数,为函数fun在x处的值;exitflag是描述函数fun的退出情况。若exitflag>0,则表示找到函数零点后退出;若exitflag<0,则表示没有找到零点或在搜索过程中遇到了无穷大的函数值。第3章矩阵、数组和符号运算用

fzero命令求解函数的零点

(1)建立函数f(x)的M文件。functiony=fun1(x)y=x.^4-4*x-5;(2)建立水平横轴的M文件。functiony=fun2(x)y=0;(3)用作图法估计函数零点位置。>>fplot('fun1',[-5,5],'r')>>holdon>>fplot('fun2',[-5,5],'r')(4)用zoom和ginput命令获得零点的初始近似值在程序中输入下列命令,可得到函数的局部放大图及鼠标操作线。zoomon%局部放大命令[tt]=ginput(1)[yy]=ginput(1)%用鼠标获取2个零点猜测值zoomoff%恢复原来图形大小显示所得零点初始猜测值,结果为:

tt=-0.98380.0001yy=1.87620.0091(5)用函数fzero命令求函数的精确零点[x,fval,exitflag]=fzero(’fun1’,tt(1),[])%靠近tt(1)点处的精确零点[x,fval,exitflag]=fzero(’fun1’,yy(1),[])%靠近yy(1)点处的精确零点结果为:Zerofoundneartt.x=-1fval=0exitflag=1第3章矩阵、数组和符号运算Zerofoundnearyy.x=1.8812fval=-6.2172e-015exitflag=1解非线性方程组的函数命令fsolve其调用格式为:◆

x=fsolve(fun,x0):解非线性方程组最简单的调用格式。该式中除两个输入参数外,其余输入输出参数都可以缺省;◆[x,fval,exitflag,output,jacob]=fsolve(fun,x0,options,P1,P2...):解非线性方程组最完整的调用格式。x0是表示零点数是猜测值的向量;options是优化迭代所采用参数的结构数组。P1和P2是向函数fun传递的参数;x和fval是输出参数,所求零点的自变量值和函数值;output是输出此命令所用的计算方法、迭代次数等信息。jacob是函数在x处的jacobian。第3章矩阵、数组和符号运算第3章矩阵、数组和符号运算求方程组的根。首先编制函数文件fc.mfunctiony=fc(x)y(1)=x(1)-0.7*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.33670.5553fval=1.0e-008*0.20290.5242exitflag=1output=firstorderopt:5.7877e-009iterations:5funcCount:16cgiterations:4algorithm:[1x43char]jacob=(1,1)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函数文件的形式functionyy=fun(x)yy(1)=sin(x(1))+x(2);yy(2)=x(1)+6*x(2);[XX,YY]=fsolve(fun,[x0(1),y0(1)])%解此非线性方程组XX=1.0e-016*-0.54640.1214YY=1.0e-016*-0.42500.1821第3章矩阵、数组和符号运算第3章矩阵、数组和符号运算c.一般代数方程(组)的符号解slove命令可以解一般代数方程,包括线性方程、非线性方程和超越方程。当方程不存在符号解,且又无其他自由参数时,函数solve将给出数值解。命令调用格式为:solve(’eqn1’,’eqn2’,...,’eqnN’):对N个方程的默认变量求解;solve(’eqn1’,’eqn2’,...,’eqnN’,’var1,var2,...,varN’):对N个方程的var1,var2,...,varN变量求解。要注意变量的英文字母顺序,且在变量前不可有空格;S=solve(’eqn1’,’eqn2’,...,’eqnN’,’var1’,’var2’,...,’varN’):对N个方程的’var2’,...,’varN‘变量求解;S是一个结构数组;[x1,x2,…,xn]=solve(‘eqn1’,‘eqn2’,...,‘eqnN’,‘var1’,‘var2’,...,‘varN’):对变量var1,var2,...,varN求解,求解的结果分别赋给x1,x2,…,xn(按照变量var1,var2,...varN在英文字母中的顺序给x1,x2,…,xn赋值)。第3章矩阵、数组和符号运算求非线性方程组的解。解:[x,y,z]=solve('x^2+sqrt(2)*x+2=0','x+3*z=4','y*z=-1','x','y','z')x=[(-1/2+1/2*i*3^(1/2))*2^(1/2)][(-1/2-1/2*i*3^(1/2))*2^(1/2)]y=[-51/73+3/73*i*3^(1/2)-27/146*(-1/2+1/2*i*3^(1/2))*2^(1/2)-3/146*2^(1/2)][-51/73-3/73*i*3^(1/2)-27/146*(-1/2-1/2*i*3^(1/2))*2^(1/2)-3/146*2^(1/2)]z=[-1/3*(-1/2+1/2*i*3^(1/2))*2^(1/2)+4/3][-1/3*(-1/2-1/2*i*3^(1/2))*2^(1/2)+4/3]d.常微分方程的符号解函数dsolve用来求常微分方程的符号解。在符号方程中,用符号表达式中包含的字母“D”来代替微分运算,符号D2、D3、…DN分别对应于第二、第三、…第N阶导数。因变量是位于D后面的变量,缺省的自变量为t。dsolve的调用格式为:S=dsolve(’eqn1’,’eqn2’,...)输入参数包含三部分内容:微分方程、初始条件和指定独立变量。输出S是结构数组。初始条件或边界条件写成‘y(a)=b’或‘Dy(a)=b’等。a、b可以是变量使用符以外的其他字符。当初始条件少于微分方程数时,在所得解中将出现任意常数符C1,C2,….,解中任意常数符的数目等于所缺少的初始条件数。当无输出参数时,MATLAB工作内存中在y1,y2,…定义的输出参数中保存计算结果。第3章矩阵、数组和符号运算>>dsolve('Dx=-a*x')ans=C1*exp(-a*t)>>dsolve('Dx=-a*x','x(0)=2')ans=2*exp(-a*t)>>dsolve('Df-f-sin(t)=0','f(pi/2)=0')ans=-1/2*cos(t)-1/2*sin(t)+1/2*exp(t)/(cosh(1/2*pi)+sinh(1/2*pi))>>y=dsolve('(Dy)^2+y^2=1','y(0)=0')y=[sin(t)][-sin(t)]第3章矩阵、数组和符号运算求,,f(0)=1,g(0)=2的解。

S=dsolve(’Df=f+g’,’Dg=-f+g’,’f(0)=1’,’g(0)=2’)S=f:[1x1sym]g:[1x1sym]S.fans=exp(t)*(cos(t)+2*sin(t))S.gans=exp(t)*(-sin(t)+2*cos(t))函数

dsolve命令求解微分方程时,如果得不到其解,则给出警告信息。

第3章矩阵、数组和符号运算8、符号函数的二维图二维符号函数的专用命令ezplot格式为:ezplot(sym-fun,limits)参数含义如下:sym-fun:符号函数或代表它的符号变量;limits:为自变量x的取值范围,即limits=[x1,x2],其默认值为[-2pi,2pi]。用ezplot绘函数图symsxf=(x^2)^(cos(x)^2);ezplot(f)第3章矩阵、数组和符号运算第3章矩阵、数组和符号运算9、图示化函数计算器a.单变量函数分析界面用于考察两个一元函数各自性质及其相互关系。该函数计算器由funtool.m文

温馨提示

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

评论

0/150

提交评论