数学建模社区-数学中国

标题: Matlab符号基本运算—3 [打印本页]

作者: 森之张卫东    时间: 2015-7-20 18:46
标题: Matlab符号基本运算—3
命令12  符号表达式的分子与分母

函数  numden

格式  [N,D] = numden(A)

说明  将符号或数值矩阵A中的每一元素转换成整系数多项式的有理式形式,

其中分子与分母是相对互素的。输出的参量N为分子的符号矩阵,输出的参

量D为分母的符号矩阵。

例3-11

>>syms x y a b c d;

>>[n1,d1] = numden(sym(sin(4/5)))

>>[n2,d2] = numden(x/y + y/x)

>>A = [a, 1/b;1/c d];

>>[n3,d3] = numden(A)

计算结果为:

n1 =

     6461369247334093

d1 =

     9007199254740992

n2 =

     x^2+y^2

d2 =

    y*x

n3 =

    [ a, 1]

    [ 1, d]

d3 =

    [ 1, b]

    [ c, 1]

命令13  搜索符号表达式的最简形式

函数  simple

格式  r = simple(S)   %该命令试图找出符号表达式S的代数上的简单

形式,显示任意的能使表达式S长度变短的表达式,且返回其中最短的

一个。若S为一矩阵,则结果为整个矩阵的最短形式,而非是每一个元

素的最简形式。若没有输出参量r,则该命令将显示所有可能使用的算

法与表达式,同时返回最短的一个。

[r,how] = simple(S)   %没有显示中间的化简结果,但返回能找到的

最短的一个。输出参量r为一符号,how为一字符串,用于表示算法。

例3-12

>>syms x

>>R1 = simple(cos(x)^4+sin(x)^4)

>>R2 = simple(2*cos(x)^2-sin(x)^2)

>>R3 = simple(cos(x)^2-sin(x)^2)

>>R4 = simple(cos(x)+(-sin(x)^2)^(1/2))

>>R5 = simple(cos(x)+i*sin(x))

>>R6 = simple( (x+1)*x*(x-1))

>>R7 = simple(x^3+3*x^2+3*x+1)

>> [R8,how] = simple(cos(3*acos(x)))

计算的结果为:

R1 =

     1/4*cos(4*x)+3/4

R2 =

     3*cos(x)^2-1

R3 =

     cos(2*x)

R4 =

     cos(x)+i*sin(x)

R5 =

     exp(i*x)

R6 =

     x ^3-x

R7 =

     (x+1)^3

R8 =

     4*x^3-3*x

how =

      expand

命令14  符号表达式的化简

函数  simplify

格式  R = simplify(S)

说明  使用Maple软件中的化简规则,将化简符号矩阵S中每一元素。

例3-13

>>syms x a b c

>>R1 = simplify(sin(x)^4 + cos(x)^4)

>>R2 = simplify(exp(c*log(sqrt(a+b))))

>>S = [(x^2+5*x+6)/(x+2),sqrt(16)];

>>R3 = simplify(S)

计算结果为:

R1 =

     2*cos(x)^4+1-2*cos(x)^2

R2 =

     (a+b)^(1/2*c)

R3 =

     [ x+3,   4]

命令15  符号矩阵的维数

函数  size

格式  d = size(A)  
     %若A为m*n阶的符号矩阵,则输出结果

d=[m,n]。

      [m,n] = size(A)    %分别返回矩阵A的行数于m,列数于n。

      d= size(A, n)     %返回由标量n指定的A的方向的维数:

n=1为行方向,n=2为列方向。

例3-14

>>syms a b c d

>>A = [a b c ; a b d; d c b; c b a];

>>d = size(A)

>>r = size(A, 2)

计算结果为:

d =

     4     3

r =

     3









欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5