资源预览内容
第1页 / 共15页
第2页 / 共15页
第3页 / 共15页
第4页 / 共15页
第5页 / 共15页
第6页 / 共15页
第7页 / 共15页
第8页 / 共15页
第9页 / 共15页
第10页 / 共15页
亲,该文档总共15页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
网易 新闻 微博 邮箱 闪电邮 相册 有道 手机邮 印像派 梦幻人生 更多 博客 博客首页 博客话题 热点专题 博客油菜地 找朋友 博客圈子 博客风格 手机博客 短信写博 邮件写博 博客复制 摄影 摄影展区 每日专题 窗体顶端搜博文 搜博客窗体底端随便看看关注此博客选风格不再艰难搬家送 Lomo 卡片退出 ( 0) xingshi3. 使用此风格消息 短消息:0 评论:0 评论回复:0 留言:0 通知:0 我的博客 首页 日志 相册 心情 收藏 音乐 关于我 博客设置 博客装扮 个人中心 鸿星尔克大师赛开始倒计时,iPad 、iPod nano 等你来终结,赶快行动吧! 显示下一条 |关闭 北风之子-红色尖兵导航首页 日志 相册 音乐 收藏 博友 关于我 日志massiach 加博友 已关注 MATLAB 入门教程 第四章 数值计算功能(2)Matlab 入门教程 第五章 符号数学基础(2)Matlab 入门教程 第五章 符号数学基础(1)软件 2007-06-17 20:56:47 阅读 264 评论 0 字号:大中小 订阅 第五章 符号数学基础Chapter 5:Foundation of Symbolic Mathematics 一 符号对象的创建(Creating a symbolic object)1. 创建符号变量和表达式(Creating a symbolic variable and expression)创建符号变量和表达式的两个基本函数:sym, syms*x=sym(x) 创建一个符号变量 x,可以是字符、字符串、表达式或字符表达式。*syms 用于方便地一次创建多个符号变量,调用格式为: syms a b c d . 书写简洁意义清楚,建议使用。例 1:使用 sym 函数创建符号变量 .a=sym(a)b=sym( hello)c=sym( (1+sqrt(5)/2)y=sym( x3+5*x2+12*x+20)a =ab =helloC =(1+sqrt(5)/2Y =x3+5*x2+12*x+20例 2:用 syms 函数创建符号变量。syms a b c d 2. 创建符号矩阵(Symbolic matrix Creating)例 1:创建一个循环矩阵。syms a b c dn=a b c d;b c d a;c d a b;d a b cn = 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.0000 0.5000 0.33330.5000 0.3333 0.25000.3333 0.2500 0.2000h1 = 1, 1/2, 1/3 1/2, 1/3, 1/4 1/3, 1/4, 1/5注意符号矩阵于数值矩阵的区别。3. 默认符号变量(Implied symbolic variable)在 MATLAB 的符号数学工具箱中,以最接近 x 的顺序排列默认自变量的顺序,可利用findsym 函数对默认自变量进行查询。例 1: 求符号函数在不同自变量情况下的结果。创建符号变量 x 和 n,建立函数 f=xn,然后分别求 f 对 x 和 f 对 n 的导数.syms x nf=xndiff(f) % x 作为自变量,求 f 对 x 的导数diff(f,n) % n 作为自变量,求 f 对 n 的导数f =xnans =xn*n/xans =xn*log(x)例 2: 查询符号函数中的默认自变量。创建符号变量 a,b, n, x 和 t ,建立函数 f=axn+bt,然后求 f 的默认自变量。syms a b n t xf=a*xn+b*tfindsym(f,1)findsym(f,2)findsym(f,5) % f 表达式中按最接近 x 顺序排列的 5 个默认自变量findsym(f) % f 表达式中按最接近字母顺序排列的全部自变量f = a*xn+b*tans =xans =x,tans =x,t,n,b,aans =a, b, n, t, x 二. 符号表达式的化简和替换(simplifying and replacing of Symbolic xpressions) 符号数学工具箱提供的符号表达式的因式分解、展开、合并、化简、通分等操作:1. 符号表达式的化简(Simplifying of symbolic expression)(1).因式分解(Factorization)符号表达式的因式分解函数为 factor(S), 可分解符号表达式 S 的各个元素。例 1: 对表达式 f=x9-1 进行因式分解。syms xf=factor(x9-1)pretty(f)f =(x-1)*(x2+x+1)*(x6+x3+1)2 6 3(x - 1) (x + x + 1) (x + x + 1)例 2:对大整数 12345678901234567890 进行因式分解。factor(sym(12345678901234567890)ans =(2)*(3)2*(5)*(101)*(3803)*(3607)*(27961)*(3541)(2)符号表达式的展开(Expanding of symbolic expressions)符号表达式的展开函数为 expand(S), 此函数因数展开符号表达式 S.例: 展开表达式 f=(x+1)5 和 f=sin(x+y)syms x yf=(x+1)5;expand(f)f=sin(x+y);expand(f)ans =x5+5*x4+10*x3+10*x2+5*x+1ans =sin(x)*cos(y)+cos(x)*sin(y)(3).符号表达式的同类项合并(Similar team merging for symbolic expression)符号表达式的同类项合并函数为 collect(S,n),此函数将符号表达式中自变量的同次幂项的系数合并。例:对于表达式 f=x(x(x-6)+12)t, 分别将自变量 x 和 t 的同类项合并。syms x tf=x*(x*(x-6)+12)*t;collect(f)collect(f,t)ans =t*x3-6*t*x2+12*t*xans =x*(x*(x-6)+12)*tCOLLECT Collect coefficients.COLLECT(S,v) regards each element of the symbolic matrix S as a polynomial in v and rewrites S in terms of the powers of v.COLLECT(S) uses the default variable determined by FINDSYM.(4). 符号表达式的化简(Simplifying of symbolic expression)符号表达式的两个化简函数:simplify, simple ,simplify:化简函数,可用于化简各种表达式 例 1:对表达式 f=sin2(x)+cos2(x)进行化简.syms xf=sin(x)2+cos(x)2;simplify(f)ans =1r,how=simple(S) 函数可寻找符号表达式 S 的最简型, r 为返回的简化形式,how 为化简过程中使用的主要方法,simple 函数综合使用了下列化简方法:*simplify 函数对表达式进行化简*radsimp 函数对含根式(surd)的表达式进行化简*combine 函数对表达式中以求和、乘积、幂运算等形式出现的项进行合并*collect 合并同类项*factor 函数实现因式分解*convert 函数完成表达式形式的转换例 2:最简表达式的获得。syms x tf=cos(x)2-sin(x)2;r,how=simple(f)r =cos(2*x)how =combine(5)符号表达式的分式通分(Reduction symbolic expression to common denominator)符号表达式的分式通分函数为 n,d=numden(S), 此函数将符号表达式转换为分子(Numerator)和分母(denominator)都是正系数的最佳多项式。例:对表达式 f=x/y+y/x 进行通分。syms x yf=x/y+y/x;n,d=numden(f)n =x2+y2d =y*xNUMDEN Numerator and denominator of a symbolic expression.N,D = NUMDEN(A) converts each element of A to a rational form where the numerator and denominator are relatively prime polynomials with integer coefficients.(6) 符号表达式的嵌套形式重写(Representation of nested symbolic expression)符号表达式的嵌套形式重写函数为 horner(S), 此函数将符号表达式转换为嵌套形式。例: 对表达式 f=x3+6x2+11x-6 进行嵌套形式重写。syms xf=x3+6*x2+11*x-6;horner(f)ans =-6+(11+(6+x)*x)*xHORNER Horner polynomial representation.HORNER(P) transforms the symbolic polynomial P into its Horner,or nested, representation.2. 符号表达式的替换(Replacing of symbolic expression)MATLAB 的符号数学工具箱提供了两个符号表达式的替换函数 subexpr 和 subs,可通过符号替换使表达式的输出形式简化。subexpr 函数可将表达式中重复出现的字符串用变量代替。调用格式:Y,SIGMA=subexpr(S,SIGMA): 用变量 SIGMA 的值代替符号表达式 S 中重复出现的字符串,Y 返回替换后的结果。例:求解并化简三次方程 x3+ax+1=0 的符号解。t=solve(x3+a*x+1=0)r,s=subexpr(t,s)t = 1/6*(-108+12*(12*a3+81)(1/2)(1/3)-2*a/(-108+12*(12*a3+81)(1/2)(1/3) -1/12*(-108+12*(12*a3+81)(1/2)(1/3)+a/(-108+12*(12*a3+81)(1/2)(1/3)+1/2*i*3(1/2)*(1/6*(-108+12*(12*a3+81)(1/2)(1/3)+2*a/(-108+12*(12*a3+81)(1/2)(1/3) -1/12*(-108+12*(12*a3+81)(1/2)(1/3)+a/(-108+12*(12*a3+81)(1/2)(1/3)-1/2*i*3(1/2)*(1/6*(-108+12*(12*a3+81)(1/2)(1/3)+2*a/(-108+12*(12*a3
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号