您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 第五章数学符号基础1
网易新闻微博邮箱闪电邮相册有道手机邮印像派梦幻人生更多博客博客首页博客话题热点专题博客油菜地找朋友博客圈子博客风格手机博客短信写博邮件写博博客复制摄影摄影展区每日专题窗体顶端搜博文搜博客窗体底端随便看看关注此博客选风格不再艰难搬家送Lomo卡片退出(0)xingshi3..使用此风格消息短消息:0评论:0评论回复:0留言:0通知:0我的博客首页日志相册心情收藏音乐关于我博客设置博客装扮个人中心鸿星尔克大师赛开始倒计时,iPad、iPodnano等你来终结,赶快行动吧!显示下一条|关闭北风之子-红色尖兵导航首页日志相册音乐收藏博友关于我日志massiach加博友已关注取消最新日志可疑邮件的特征与处置FireandIceTheRiverofLifeARed,RedRose07中国军事要闻(由CLJ友情影响正常曝光的十大因素博主推荐相关日志随机阅读7大细节破译男人是否来电?Selina剃头俞灏明植皮偶像明星也难做收租婆的忧伤谁人知?应对极端寒冷天气小贴士破解《黎明之前》口碑形成之谜小远广播之孤独的战争(第95期)首页推荐请亚运为死难者默哀日本鬼子被宅男美化日本严惩火灾责任人老外稀奇古怪的三轮婚姻法欺负了女人?'青春美少女'变裸女更多MATLAB入门教程第四章数值计算功能(2)Matlab入门教程第五章符号数学基础(2)Matlab入门教程第五章符号数学基础(1)软件2007-06-1720:56:47阅读264评论0字号:大中小订阅第五章符号数学基础Chapter5:FoundationofSymbolicMathematics一.符号对象的创建(Creatingasymbolicobject)1.创建符号变量和表达式(Creatingasymbolicvariableandexpression)创建符号变量和表达式的两个基本函数:sym,syms*x=sym(‘x’)创建一个符号变量x,可以是字符、字符串、表达式或字符表达式。*syms用于方便地一次创建多个符号变量,调用格式为:symsabcd.书写简洁意义清楚,建议使用。例1:使用sym函数创建符号变量.a=sym(‘a’)b=sym(‘hello’)c=sym((‘(1+sqrt(5))/2’)y=sym(‘x^3+5*x^2+12*x+20’)a=ab=helloC=(1+sqrt(5))/2Y=x^3+5*x^2+12*x+20例2:用syms函数创建符号变量。symsabcd2.创建符号矩阵(SymbolicmatrixCreating)例1:创建一个循环矩阵。symsabcdn=[abcd;bcda;cdab;dabc]n=[a,b,c,d][b,c,d,a][c,d,a,b][d,a,b,c]例2:将3阶Hilbert矩阵转换为符号矩阵。h=hilb(3)h1=sym(h)h=1.00000.50000.33330.50000.33330.25000.33330.25000.2000h1=[1,1/2,1/3][1/2,1/3,1/4][1/3,1/4,1/5]注意符号矩阵于数值矩阵的区别。3.默认符号变量(Impliedsymbolicvariable)在MATLAB的符号数学工具箱中,以最接近x的顺序排列默认自变量的顺序,可利用findsym函数对默认自变量进行查询。例1:求符号函数在不同自变量情况下的结果。创建符号变量x和n,建立函数f=xn,然后分别求f对x和f对n的导数.symsxnf=x^ndiff(f)%x作为自变量,求f对x的导数diff(f,n)%n作为自变量,求f对n的导数f=x^nans=x^n*n/xans=x^n*log(x)例2:查询符号函数中的默认自变量。创建符号变量a,b,n,x和t,建立函数f=axn+bt,然后求f的默认自变量。symsabntxf=a*x^n+b*tfindsym(f,1)findsym(f,2)findsym(f,5)%f表达式中按最接近x顺序排列的5个默认自变量findsym(f)%f表达式中按最接近字母顺序排列的全部自变量f=a*x^n+b*tans=xans=x,tans=x,t,n,b,aans=a,b,n,t,x二.符号表达式的化简和替换(simplifyingandreplacingofSymbolicxpressions)符号数学工具箱提供的符号表达式的因式分解、展开、合并、化简、通分等操作:1.符号表达式的化简(Simplifyingofsymbolicexpression)(1).因式分解(Factorization)符号表达式的因式分解函数为factor(S),可分解符号表达式S的各个元素。例1:对表达式f=x9-1进行因式分解。symsxf=factor(x^9-1)pretty(f)f=(x-1)*(x^2+x+1)*(x^6+x^3+1)263(x-1)(x+x+1)(x+x+1)例2:对大整数12345678901234567890进行因式分解。factor(sym(‘12345678901234567890’))ans=(2)*(3)^2*(5)*(101)*(3803)*(3607)*(27961)*(3541)(2)符号表达式的展开(Expandingofsymbolicexpressions)符号表达式的展开函数为expand(S),此函数因数展开符号表达式S.例:展开表达式f=(x+1)5和f=sin(x+y)symsxyf=(x+1)^5;expand(f)f=sin(x+y);expand(f)ans=x^5+5*x^4+10*x^3+10*x^2+5*x+1ans=sin(x)*cos(y)+cos(x)*sin(y)(3).符号表达式的同类项合并(Similarteammergingforsymbolicexpression)符号表达式的同类项合并函数为collect(S,n),此函数将符号表达式中自变量的同次幂项的系数合并。例:对于表达式f=x(x(x-6)+12)t,分别将自变量x和t的同类项合并。symsxtf=x*(x*(x-6)+12)*t;collect(f)collect(f,t)ans=t*x^3-6*t*x^2+12*t*xans=x*(x*(x-6)+12)*tCOLLECTCollectcoefficients.COLLECT(S,v)regardseachelementofthesymbolicmatrixSasapolynomialinvandrewritesSintermsofthepowersofv.COLLECT(S)usesthedefaultvariabledeterminedbyFINDSYM.(4).符号表达式的化简(Simplifyingofsymbolicexpression)符号表达式的两个化简函数:simplify,simple,simplify:化简函数,可用于化简各种表达式例1:对表达式f=sin2(x)+cos2(x)进行化简.symsxf=sin(x)^2+cos(x)^2;simplify(f)ans=1[r,how]=simple(S)函数可寻找符号表达式S的最简型,r为返回的简化形式,how为化简过程中使用的主要方法,simple函数综合使用了下列化简方法:*simplify函数对表达式进行化简*radsimp函数对含根式(surd)的表达式进行化简*combine函数对表达式中以求和、乘积、幂运算等形式出现的项进行合并*collect合并同类项*factor函数实现因式分解*convert函数完成表达式形式的转换例2:最简表达式的获得。symsxtf=cos(x)^2-sin(x)^2;[r,how]=simple(f)r=cos(2*x)how=combine(5)符号表达式的分式通分(Reductionsymbolicexpressiontocommondenominator)符号表达式的分式通分函数为[n,d]=numden(S),此函数将符号表达式转换为分子(Numerator)和分母(denominator)都是正系数的最佳多项式。例:对表达式f=x/y+y/x进行通分。symsxyf=x/y+y/x;[n,d]=numden(f)n=x^2+y^2d=y*xNUMDENNumeratoranddenominatorofasymbolicexpression.[N,D]=NUMDEN(A)convertseachelementofAtoarationalformwherethenumeratoranddenominatorarerelativelyprimepolynomialswithintegercoefficients.(6)符号表达式的嵌套形式重写(Representationofnestedsymbolicexpression)符号表达式的嵌套形式重写函数为horner(S),此函数将符号表达式转换为嵌套形式。例:对表达式f=x3+6x2+11x-6进行嵌套形式重写。symsxf=x^3+6*x^2+11*x-6;horner(f)ans=-6+(11+(6+x)*x)*xHORNERHornerpolynomialrepresentation.HORNER(P)transformsthesymbolicpolynomialPintoitsHorner,ornested,representation.2.符号表达式的替换(Replacingofsymbolicexpression)MATLAB的符号数学工具箱提供了两个符号表达式的替换函数subexpr和subs,可通过符号替换使表达式的输出形式简化。subexpr函数可将表达式中重复出现的字符串用变量代替。调用格式:[Y,SIGMA]=subexpr(S,SIGMA):用变量SIGMA的值代替符号表达式S中重复出现的字符串,Y返回替换后的结果。例:求解并化简三次方程x3+ax+1=0的符号解。t=solve(‘x^3+a*x+1=0’)[r,s]=subexpr(t,’s’)t=[1/6*(-108+12*(12*a^3+81)^(1/2))^(1/3)-2*a/(-108+12*(12*a^3+81)^(1/2))^(1/3)][-1/12*(-108+12*(12*a^3+81)^(1/2))^(1/3)+a/(-108+12*(12*a^3+81)^(1/2))^(1/3)+1/2*i*3^(1/2)*(1/6*(-108+12*(12*a^3+81)^(1/2))^(1/3)+2*a/(-108+12*(12*a^3+81)^(1/2))^(1/3))][-1/12*(-108+12*(12*a^3+81)^(1/2))^(1/3)+a/(-108+12*(12*a^3+81)^(1/2))^(1/3)-1/2*i*3^(1/2)*(1/6*(-108+12*(12*a^3+81)^(1/2))^(1/3)+2*a/(-108+12*(12*a^3+81)^(1/2))^(1/3))]r=[1/6*s^(1/3)-2*a/s^(1/3)][-1/12*s^(1/3)+a/s^(1/3)+1/2*i*3^(1/2)*(1/6*s^(1/3)+2*a/s^(1/3))][-1/12*s^(1/3)+a/s^(1/3)-1/2*i*3^(1/2)*(1/6*s^(1/3)+2*a/s^(1/3))]s=-108+12*(12*a^3+81)^(1/2)函数subs是用指定符号替换符号表达式中的某一特定符号,调用格式为:R=subs(S,old,new),它可用新的符号变量new替换原来符号表达式S中的old.当new为数值形式时,显示的结果虽然是数值,但它事实上是符号变量。例:分别用新变量替换表达式a+b和cos(a)+sin(b)中变量。symsabsubs(a+b,a,4)subs(cos(a)+s
本文标题:第五章数学符号基础1
链接地址:https://www.777doc.com/doc-2189396 .html