已阅读5页,还剩73页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
,1,符号运算的功能,符号表达式、符号矩阵的创建符号线性代数因式分解、展开和化简符号代数方程求解符号微积分符号微分方程,2,本节目标,理解符号运算的有关概念掌握使用符号运算解决符号推导、微积分、方程等问题的方法,3,一、符号运算的基本操作,符号运算与数值运算的区别数值运算中必须先对变量赋值,然后才能参与运算。符号运算无须事先对独立变量赋值,运算结果以标准的符号形式表达。,4,符号变量和符号表达式,符号变量和符号表达式在使用前必须说明sym函数f1=sym(ax2+bx+c)%创建符号变量f1和一个符号表达式symsclearsymsabcxwhosNameSizeBytesClassa1x1126symobjectb1x1126symobjectc1x1126symobjectx1x1126symobject,5,符号表示式的运算,算术运算clearf1=sym(1/(a-b);f2=sym(2*a/(a+b);f3=sym(a+1)*(b-1)*(a-b);f1+f2%符号和ans=1/(a-b)+2*a/(a+b)f1*f3%符号积ans=(a+1)*(b-1)f1/f3%符号商ans=1/(a-b)2/(a+1)/(b-1),6,特点:运算对象可以是没赋值的符号变量可以获得任意精度的解SymbolicMathToolbox符号运算工具包通过调用Maple软件实现符号计算的。maple软件主要功能是符号运算,它占据符号软件的主导地位。,7,符号对象的定义sym、syms,8,f=sym(argn,flagn)中的argn是数值或数值表达式时,flagn可取以下选择:,d最接近的十进制浮点精确表示;e带(数值计算时)估计误差的有理表示;f十六进制浮点表示;r最接近有理表示,缺省选项。,9,f=sym(argv,flagv)中argv是字符时,flagv可取以下“限定性”选项:real、positive和unreal,k=sym(k,positive),x=sym(x,real),x=sym(x,unreal),表明x是实符号变量,表明k是正、实符号变量,去掉x的附加属性,10,例:a1=1/3,pi/7,sqrt(5),pi+sqrt(5)%a1是数值常数a2=sym(1/3,pi/7,sqrt(5),pi+sqrt(5)%最接近的有理表示a2=sym(1/3,pi/7,sqrt(5),pi+sqrt(5),e)%带估计误差的有理表示a2=sym(1/3,pi/7,sqrt(5),pi+sqrt(5)%绝对准确的符号数值表示,11,2.符号变量与符号表达式,f=sym(sin(x)+5x)f符号变量名sin(x)+5x符号表达式符号标识符号表达式一定要用单引号括起来matlab才能识别。,12,的内容可以是符号表达式,也可以是符号方程。例1:f1=ax2+bx+c二次三项式f2=ax2+bx+c=0方程f3=Dy+y2=1微分方程符号表达式或符号方程可以赋给符号变量,方便以后调用;也可以不赋给符号变量直接参与运算,13,例2x=sym(x)%用sym一次只能定义一个符号变量symsabc%syms可同时定义多个变量symsrmreal%定义表示实数的符号变量(默认为复数)z=r+i*m;conj(z)%conj求共轭复数ans=r-i*m,14,rho=sym(1+sqrt(5)/2);f=rho2-rho-1,fs=simplify(f)f=(1/2+1/2*5(1/2)2-3/2-1/2*5(1/2)fs=0用simple或simplify对符号表达式或函数进行化简,15,符号表达式中自变量的确定规则:只对除i和j以外的单个小写英文字母进行搜索;默认x是首选自变量;其余字母被选为自变量的搜索次序是:在英文字母表中靠近x的字母优先,距离相同时排在x之后的字母优先,16,符号表达式和字符串中的自变量,f=sin(x+y);symvar(f)%返回字符串表达式中的自变量;fs=sym(f),findsym(fs)%返回符号表达式中的自变量;ans=xyans=x,y,17,符号对象与字符串之间的转换,s=5+sin(x)+exp(y)2;fs=sym(s),s1=char(fs)fs=5+sin(x)+exp(y)2s1=5+sin(x)+exp(y)2whossfss1NameSizeBytesClassfs1x1158symobjects1x1734chararrays11x1734chararray,18,3.符号矩阵的创建数值矩阵A=1,2;3,4A=a,b;c,d不识别用matlab函数sym创建矩阵(symbolic的缩写)命令格式:A=sym()符号矩阵内容同数值矩阵需用sym指令定义需用标识,19,例如:A=sym(a,2*b;3*a,0)A=a,2*b3*a,0这就完成了一个符号矩阵的创建。注意:符号矩阵的每一行的两端都有方括号,这是与matlab数值矩阵的一个重要区别。,20,用字符串直接创建矩阵,模仿matlab数值矩阵的创建方法需保证同一列中各元素字符串有相同的长度。,例:A=a,2*b;3*a,0A=a,2*b3*a,0,21,例:创建符号矩阵symsabcdefghA=ab;cd,B=ef;gh,C=A*BD=sym(1/(x+t),sin(x);1,exp(x),B=e,fg,h,A=a,bc,d,C=a*e+b*g,a*f+b*hc*e+d*g,c*f+d*h,D=1/(x+t),sin(x)1,exp(x),22,符号矩阵的修改,a.直接修改可用、键找到所要修改的矩阵,直接修改b.指令修改A(行标,列标)符号表达式A1=subs(S,new,old),23,例如:A=a,2*b3*a,0,A1=subs(A,c,b)A2=a,2*c3*a,4*c,A(2,2)=4*bA=a,2*b3*a,4*b,24,相关函数,subs:符号替换,subs(f):用当前工作空间中存在的变量值,替换f中所有出现的相同的变量,并进行简化计算。subs(f,x,a):用a替换f中的x;a是可以是数/数值变量/表达式或符号变量/表达式。若x与a为相同大小的向量或矩阵,则用a中相应的元素替换x中的元素;若f,x为标量,而a是向量或矩阵,则f与x将扩展为与a相同形状的向量或矩阵。,25,例:,symsxyf=2*x+y;x=3,y=4;subs(f)subs(f,x,a),Matlab符号运算(二),symsxyabf=2*x+y;subs(f,x,y,3,4)subs(f,x,y,3,4)subs(f,x,1:3)subs(f,x,y,1:3,5:7)subs(f,x,y,a+b,a-b),ans=10,ans=2*x+y,ans=10,ans=2+y,4+y,6+y,ans=71013,ans=3*a+b,26,符号矩阵与数值矩阵的转换,将数值矩阵转化为符号矩阵函数调用格式: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,27,将符号矩阵转化为数值矩阵函数调用格式:double(A)、int8(A)、int16(A)A=1/3,5/210/7,2/5double(A)int8(A)ans=ans=0.33332.5000031.42860.400010,28,二、符号运算,1、符号矩阵运算数值运算中,所有矩阵运算操作指令都比较直观、简单。例如:a=b+c;a=a*b;A=2*a2+3*a-5等。符号运算也是采用与数值运算相同的运算符。,29,符号矩阵的基本运算,符号矩阵的基本运算与数值矩阵的基本运算相类似。,1)基本运算符:+、-、*、/、.*、.、./、.、.,2)三角函数与反三角函数:sin、cos、tan、,3)指数、对数函数:sqrt、exp、log、,4)复数函数:real、imag、conj、abs,5)矩阵函数:det、inv、rank、(没有norm),6)矩阵元素的抽取:diag、tril、triu,30,例1:f=sym(2*x2+3*x-5);g=sym(x2+x-7);h=f+gh=3*x2+4*x-12例2:f=sym(cos(x);g=sym(sin(2*x);f/g+f*gans=cos(x)/sin(2*x)+cos(x)*sin(2*x),31,例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),32,例3符号矩阵的基本操作和运算,x=reshape(sym(0:3),2,2);symst;y=x.2,z=x*x,w=inv(z),w(22)=0,wt=expm(w*t)symsabc;t=ab*2c+3;456;cba,sum(t)reshape:符号矩阵的变形;expm:符号矩阵的幂运算;sum:符号矩阵按列求和,33,2.任意精度的数学运算,在symbolic中有三种不同的算术运算:数值类型matlab的浮点算术运算有理数类型maple的精确符号运算vpa类型maple的任意精度算术运算,34,浮点算术运算1/2+1/3(定义输出格式formatlong)ans=0.83333333333333符号运算sym(1/2)+(1/3)ans=5/6精确解,35,任意精度算术运算digits(n)设置可变精度,缺省16位vpa(x,n)显示可变精度计算digits(25)vpa(1/2+1/3)ans=.8333333333333333333333333,36,vpa(5/6,40)ans=.8333333333333333333333333333333333333333a=sym(1/4,exp(1);log(3),3/7)a=1/4,exp(1)log(3),3/7vpa(a,10)ans=.2500000000,2.7182818281.098612289,.4285714286,37,3.符号函数的求反和复合,fg=compose(f,g,v,w,t):对f(v)和v=g(w)求复合函数fg=f(g(w)|w=t;g=finverse(f,v):对指定自变量为v的函数f(v)求反函数g(v);例(1)已知h(x)=xt,p(y)=e-y/u,计算复合函数fz=h(p(z);(2)已知y(u)=e(u-2v),计算反函数fi=y-1,38,symsxyzuvt;h=xt;p=exp(-y/u);fz=compose(h,p,x,y,z)fi=finverse(exp(u-2*v),u)fz=exp(-z/u)tfi=2*v+log(u),39,4.符号表达式的操作因式分解、展开、合并、简化及通分等,collect(EXPR,v):对EXPR表达式中指定的符号对象v的同幂项系数进行合并;expand(EXPR):对EXPR表达式进行多项式、三角函数、指数对数函数等展开;factor(EXPR):对EXPR表达式进行因式分解horner(EXPR):把多项式分解成嵌套形式;n,d=numden(EXPR):提取表达式EXPR的最小分母公因式d和相应的分子多项式n;simplify(p):运用多种恒等式转换对表达式p进行综合简化;simple(p):运用包括simplify在内的各种指令把p转换成最简短形式;,这些操作都是数组操作,对符号矩阵中的元素逐个进行,40,例:化简表达式symsx;y=1/x5+10/x4+40/x3+80/x2+80/x+32;y=simple(y)y=(2*x+1)5/x5例a=sym(s+1)/(s2+5*s+6);b=factor(a)c=sym(x+1)3);d=expand(c)e=-1/4*x*exp(-2*x)+3/16*exp(-2*x)+x2-x+3;,41,d1=collect(e,exp(-2*x)d2=collect(e,x)f=x3-6*x2+11*x-6;g=horner(f)h=sym(sin(x)2+3*x+cos(x)2-5);k=sym(1-a2)/(1-a);A=h,k;B=simplify(A)b=(s+1)/(s+3)/(s+2)d=x3+3*x2+3*x+1d1=(3/16-1/4*x)*exp(-2*x)+3+x2-xd2=x2+(-1-1/4*exp(-2*x)*x+3+3/16*exp(-2*x)g=-6+(11+(-6+x)*x)*xB=-4+3*x,a+1,42,5.符号微积分与积分变换,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)区间求定积分symsum符号表达式求和limit求极限,43,int(被积表达式,积分变量,积分下限,积分上限)定积分,缺省时为不定积分,taylor(f,n)泰勒级数展开ztrans(f)Z变换iztrans(f)反Z变换laplace(f)拉氏变换ilaplace(f)反拉氏变换fourier(f)付氏变换ifourier(f)反付氏变换,44,例1.计算二重不定积分,F=int(int(x*exp(-x*y),x),y)F=1/y*exp(-x*y)例2.计算f=x*exp(-x*10)的Z变换f=sym(x*exp(-x*10)F=ztrans(f)F=z*exp(-10)/(z-exp(-10)2,45,symsxyF=int(int(x*exp(-x*y),x),y)F=1/y*exp(-x*y)symsxf=x*exp(-x*10);F=ztrans(f)F=ztrans(x*exp(-x*10);F=z*exp(-10)/(z-exp(-10)2,46,例2求函数的导数和偏导数f=sym(exp(y2)*sin(a*x+2),log(x/a+t);dfdx=diff(f)d2fdx=diff(f,2)dfdy=diff(f,y,1)dfda=diff(f,a,1)dfdxdy=diff(diff(f,x),y),47,运行结果如下:dfdx=exp(y2)*cos(a*x+2)*a,1/a/(x/a+t)d2fdx=-exp(y2)*sin(a*x+2)*a2,-1/a2/(x/a+t)2dfdy=2*y*exp(y2)*sin(a*x+2),0dfda=exp(y2)*cos(a*x+2)*x,-x/a2/(x/a+t)dfdxdy=2*y*exp(y2)*cos(a*x+2)*a,0,48,例3:分别计算下列式的极限,symsxn;a=limit(1+x/n)n,n,inf)b1=limit(1/x,x,0,right)b2=limit(1/x,x,0,left)c=limit(sin(x)/x)cot(x2),x,0)d=limit(symsum(1/n,1,x)-log(x),x,inf),vpa(d,20),49,运行结果如下:a=exp(x)b1=Infb2=-Infc=exp(-1/6)d=eulergammaans=.57721566490153286061,50,6.符号代数方程求解,matlab符号运算能够解一般的线性方程、非线性方程及一般的代数方程、代数方程组。当方程组不存在符号解时,又无其他自由参数,则给出数值解。命令格式:solve(f)求一个方程的解solve(f1,f2,fn)求n个方程的解,51,例1.f=ax2+bx+c求解f=a*x2+b*x+c;solve(f)对缺省变量x求解ans=1/2/a*(-b+(b2-4*a*c)(1/2)1/2/a*(-b-(b2-4*a*c)(1/2),计算机格式,一般格式,52,solve(f,b)对指定变量b求解ans=-(a*x2+c)/x,例2.符号方程cos(x)=sin(x)求解f1=solve(cos(x)=sin(x)f1=1/4*pi,53,例3.解方程组x+y+z=1x-y+z=22x-y-z=1g1=x+y+z=1,g2=x-y+z=2,g3=2*x-y-z=1f=solve(g1,g2,g3)或者f=solve(x+y+z=1,x-y+z=2,2*x-y-z=1),54,f=x:1x1symf.xans=2/3y:1x1symf.yans=-1/2z:1x1symf.zans=5/6x,y,z=solve(x+y+z=1,x-y+z=2,2*x-y-z=1)x=2/3y=-1/2z=5/6,55,7.符号微分方程求解用一个函数可以方便地得到微分方程的符号解符号微分方程求解指令:dsolve命令格式:dsolve(f,g)f微分方程,可多至12个微分方程的求解;g为初始条件默认自变量为t,可任意指定自变量x,u等微分方程的各阶导数项以大写字母D表示,56,y的一阶导数Dy,y的二阶导数D2y,y的n阶导数Dny,y1,y2=dsolve(x1,x2,xn)返回微分方程的解,57,例1、一阶微分方程dsolve(Dx=y,Dy=-x,x(0)=0,y(0)=1)ans=x(t)=sin(t),y(t)=cos(t)例2、二阶微分方程dsolve(D2y=-a2*y,y(0)=1,Dy(pi/a)=0)ans=cos(a*t),58,例3,求该方程的解,y=dsolve(D2y+2*Dy+2*y=0,y(0)=1,Dy(0)=0,x)y=exp(-x)*sin(x)+exp(-x)*cos(x)ezplot(y)方程解y(x)的曲线图gridon,59,60,三、maple函数符号运算的扩展,maple是专门进行数学运算的软件工具,具有超强的符号运算能力,提供了几乎包括所有数学领域的专用函数matlab依赖于maple的内核与函数库,扩展了自己的符号运算功能。matlab还设计了对maple库函数的调用功能使得已有的maple数学功能,可以扩充matlab中,作为自身符号运算能力的扩展。,61,1.maple内核访问函数,可以访问maple内核的matlab函数:maple访问maple内核函数mapleinitmaple函数初始化mpamaple函数定义mhelpmaple函数帮助命令procreadmaple函数程序安装mfun对maple中若干经典特殊函数实施数值计算mfunlist能被mfun计算的maple经典特殊函数列表,62,.maple的调用格式,maple(表达式)将表达式送至maple内核,返回符号表达式结果。maple(函数,变量1,变量2)调用maple函数,传递给定变量。,63,例1.展开5阶bernoulli多项式,计算x=3时bernoulli数。a=maple(bernoulli(5,x)a=-1/6*x+5/3*x3+x5-5/2*x4a=maple(bernoulli(5,3)a=85,64,例2.化简三角函数式sin2x+cos2xa=maple(simplify(sin(x)2+cos(x)2);)a=1例3.求f(t)=e-3tsint的拉式变换f=maple(laplace(exp(-3*t)*sin(t),t,s);)f=1/(s+3)2+1),65,例4.寻找二次多项式的完全平方f(x)=x2+2x+2a=maple(completesquare(x2+2*x+2)a=completesquare(x2+2*x+2),maple(with(student)a=maple(completesquare(x2+2*x+2)a=(x+1)2+1,将工具包装入内存,66,maple软件中的所有函数,在初始化时并没有完全装入内存,可用readlib指令把库函数读入内存,或用with指令将应用工具包装入内存。调用格式maple(readlib(函数名);)maple(with(工具包名);),67,例5.求sin(x2+y2)在x=0,y=0处泰勒级数展开式,8阶截断。maple(mtaylor(sin(x2+y2),x=0,y=0,8)ans=mtaylor(sin(x2+y2),x=0,y=0,8)maple(readlib(mtaylor);)maple(mtaylor(sin(x2+y2),x=0,y=0,8)ans=x2+y2-1/6*x6-1/2*y2*x4-1/2*y4*x2-1/6*y6,68,例3.98计算整数或多项式的最大公约数(1)编写如下函数mygcd.mfunctiong=mygcd(a,b)ifany(size(a)=size(b)error(Inputsmusthavethesamesize.);endfork=1:prod(size(a);g(k)=maple(gcd,a(k),b(k);endg=reshape(g,size(a);,69,(2)在命令窗调用mygcdA=sym(246;356);B=sym(40308;176020);mygcd(A,B)ans=2,2,21,5,2symsxy;h=x2-y2,x3-y3;g=x5-y5,x4-y4;z=mygcd(h,g)z=-y+x,-y+x,70,2.mpamaple变量定义,任何一个matlab定义的函数f,可使用mpa语句直接调用,还可把f定义成maple变量v。maple的工作空间与matlab工作空间是相互独立的,所以f与v是属于不同工作空间中的变量。mpa的调用格式:mpa(v,f)mpavf,f为matlab工作空间中已存在的变量,71,例.电磁力计算公式为试I=0.5,x=0.1邻域展开泰勒级数,3阶截断,令常数1.直接调用maple(re
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年农业科技行业农产品质量安全监管研究报告及未来发展趋势预测
- 2025年冶金行业冶金产业绿色发展与资源循环利用研究报告及未来发展趋势预测
- 2025年新零售行业线上线下融合运营模式分析报告
- 安全管理制度审查及优化工具包
- 2025年生活服务行业O2O模式与生活便利化研究报告及未来发展趋势预测
- 2025年赛博空间行业虚拟世界创意产业发展战略报告
- 2025年认证基础CCAA考试试题及答案
- 医疗服务健康完善承诺书4篇范文
- 2025年专业技术人员继续教育公需课试题(附答案)
- 2025年无损检测资格证考试射线无损检测技术试卷及答案
- 员工下班外出免责协议书
- 浙江省杭州区钱塘区学正教育集团2024-2025学年第一学期四年级科学期中专项练习(含答案)
- 2025年文化馆音乐岗笔试备考资料
- QC/T 262-2025汽车渗碳齿轮金相检验
- 2025年备考宝典文化馆音乐辅导员笔试预测试题集锦
- 2024年甘肃省白银市辅警协警笔试笔试真题(附答案)
- 【教学课件】沪科版初中物理九年级全一册17.3焦耳定律
- 2025年海事两员从业资格考试(危险货物集装箱装箱现场检查员)历年参考题库含答案详解(5套)
- 培训机构安全应急预案及管理制度
- 肾移植外科并发症
- (高清版)DBJ∕T 13-318-2025 《建筑施工盘扣式钢管脚手架安全技术标准》
评论
0/150
提交评论