MATLAB符号运算功能.ppt

上传人:tia****nde 文档编号:12806173 上传时间:2020-05-25 格式:PPT 页数:27 大小:337KB
返回 下载 相关 举报
MATLAB符号运算功能.ppt_第1页
第1页 / 共27页
MATLAB符号运算功能.ppt_第2页
第2页 / 共27页
MATLAB符号运算功能.ppt_第3页
第3页 / 共27页
点击查看更多>>
资源描述
第三章符号运算功能,matlab不仅具有数值运算功能,还开发了在matlab环境下实现符号计算的工具包SymbolicMathToolbox,符号运算的功能,符号表达式、符号矩阵的创建符号线性代数因式分解、展开和简化符号代数方程求解符号微积分符号微分方程,一、符号运算的基本操作,什么是符号运算与数值运算的区别数值运算中必须先对变量赋值,然后才能参与运算。符号运算无须事先对独立变量赋值,运算结果以标准的符号形式表达。,2.符号表达式与方程,(1)单引号法f1=ax2+bx+c二次三项式f2=ax2+bx+c=0方程f3=Dy+y2=1微分方程符号表达式一定要用单引号括起来matlab才能识别。,(2)sym或syms法格式:sym(变量,参数)syms(变量1,变量2,参数)或syms变量1变量2参数(其中参数为positive,real,unreal)y1=sym(a*exp(x)+2*cos(2*x),或:symsaxy1=a*exp(x)+2*cos(2*x),3.符号矩阵的创建函数sym创建矩阵(symbolic的缩写)命令格式:A=sym()符号矩阵内容同数值矩阵,例如:A=sym(a,2*b;3*a,0)A=a,2*b3*a,0这就完成了一个符号矩阵的创建。,4.自由变量的确定,除了或指定符号变量以外,还允许使用自由变量,其确定原则:(a)小写字母不能作为自由变量;(b)有多个变量时,优先作为自由变量,若没有,则在词典序中最靠近的则优先作为自由变量;(c)小写字母的顺序优先于大写字母;(d)findsym函数可以确定自由变量的个数。格式:findsym(S,n),5.符号变量的修改,a.直接修改可用鼠标修改矩阵,直接修改b.指令修改用A=subs(S,old,new)来修改或A=subs(S,new)new替代S中的自由变量注:多个参量需替代时,应放入中,例如:A=sym(a,2*b;3*a,0)A=a,2*b3*a,0A1=subs(A,0,4*b),A(2,2)=4*bA=a,2*b3*a,4*b,A2=subs(A1,b,c)A2=a,2*c3*a,4*c,A3=subs(A,b,0,a,c)A3=a,2*a3*a,c,将数值矩阵转化为符号矩阵函数调用格式:sym(A)A=1/3,2.5;1/0.7,2/5A=0.33332.50001.42860.4000sym(A)ans=1/3,5/210/7,2/5,6.符号对象转换为数值对象,将符号矩阵转化为数值矩阵函数调用格式:double(A)、single(A)A=1/3,5/210/7,2/5single(A)ans=0.33332.50001.42860.4000,符号矩阵运算符号运算与数值运算中的运算符和基本函数几乎完全相同。,二、符号运算,例1:f=2*x2+3*x-5;g=x2+x-7;symsxf=2*x2+3*x-5;g=x2+x-7;h=f+gh=3*x2+4*x-12例2:f=cos(x);g=sin(2*x);symsxf=cos(x);g=sin(2*x);f/g+f*gans=cos(x)/sin(x)+cos(x)*sin(x),2.任意精度的数学运算,在symbolic中有三种不同的算术运算:数值类型matlab的浮点算术运算有理数类型maple的精确符号运算vpa类型maple的任意精度算术运算,任意精度算术运算digits(n)设置可变精度,n位有效数字,缺省32位vpa(x,n)将x表示为n位有效数字digits(25)vpa(1/2+1/3)ans=.8333333333333333333333333,diff(f)对缺省变量求微分diff(f,v)对指定变量v求微分diff(f,v,n)对指定变量v求n阶微分int(f)对f表达式的缺省变量求积分int(f,v)对f表达式的v变量求积分int(f,v,a,b)对f表达式的v变量在(a,b)区间求定积分,3.符号微积分与积分变换,limit(f)对自变量趋于0时的极限limit(f,x,a)对自变量x趋于a时的极限limit(f,x,a,right)自变量x从右边趋于a时的极限limit(f,x,a,left)自变量x从左边趋于a时的极限symsum(s,x,a,b)对s表达式的级数求和,taylor(f,n)泰勒级数展开n-1次幂多项式taylor(f,a)在x=a点泰勒级数展开,例1.计算二重不定积分,F=int(int(x*exp(-x*y),x),y),或symsxyF=int(int(x*exp(-x*y),x),y)结果:F=1/y*exp(-x*y),4.符号积分变换fourier(f,w)、fourier(f,t,w)付氏变换ifourier(F,t)、ifourier(F,w,t)反付氏变换laplace(f,s)、laplace(f,t,s)拉氏变换ilaplace(L,t)、ilaplace(L,s,t)反拉氏变换ztrans(f,z)、ztrans(f,x,z)Z变换iztrans(F,z)、iztrans(F,z,x)反Z变换,例:求f=e-x*x的傅里叶变换symsxf=exp(-x2)F=fourier(f,w)F=pi(1/2)*exp(-1/4*w2)y=ifourier(F,w,t)y=exp(-t2),5.符号代数方程求解,matlab符号运算能够解一般的线性方程、非线性方程及一般的代数方程、代数方程组。当方程组不存在符号解时,又无其他自由参数,则给出数值解。命令格式:solve(f)求一个方程的解solve(f1,f2,fn,v1,v2,vn)求n个方程的解,例1.问取何值时,齐次线性方程组有非零解?,symskA=1-k,-2,4;2,3-k,1;1,1,1-k;k=solve(det(A),k),结果:k=032,例2:解方程组x2+2x+1=0 x+3z=4y*z=-1,结果:x=-1y=-3/5z=5/3,g1=x2+2*x+1=0;g2=x+3*z=4;g3=y*z=-1;x,y,z=solve(g1,g2,g3),f=solve(g1,g2,g3),x=f.xy=f.yz=f.z,结果:x=-1y=-3/5z=5/3,结果:f=x:1x1symy:1x1symz:1x1sym,6.符号微分方程求解,y1,y2=dsolve(x1,x2,xn)返回微分方程的解x1,x2,xn:书写顺序是先微分方程、而后初始条件,再后变量名,均用单引号界定微分方程的n阶导数项以大写字母Dn表示,如Dy,D2y等。,一阶微分方程x,y=dsolve(Dx=y,Dy=x,x(0)=0,y(0)=1)结果:x=-1/2*exp(-t)+1/2*exp(t)y=1/2*exp(-t)+1/2*exp(t),二阶微分方程,例:求,y=dsolve(D2y+2*Dy+2*y=0,y(0)=1,Dy(0)=0)结果:y=exp(-x)*cos(x)+exp(-x)*sin(x)ezplot(y)方程解y(t)的时间曲线图,
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!