Matlab 符號運算的因式分解 展開與合併 簡化

2021-07-04 03:06:39 字數 1301 閱讀 5423

對於matlab求解符號運算中幾個常用的函式,主要說一下因式分解、展開還有合併。

(1)對於因式分解使用的是factor()函式。

例1:factor函式對於純數字也可以進行分解的

factor(112)

ans =

2 2 2 2 7

例2:對於符號函式

syms x y;

factor(x^3-y^3)

ans =

(x – y)*(x^2 + x*y + y^2)

(2)對於代數式的展開使用的是expand()函式。

例3:對於符號變數的代數展開式

syms x;

expand((x-2)*(x-4))

ans =

x^2 – 6*x + 8

例4:syms x y;

expand(cos(x+y))

ans =

cos(x)*cos(y) – sin(x)*sin(y)

(3)同冪係數的合併。

語法規則如下:

r = collect(s)

r = collect(s,v)

例5:syms x y;

r1 = collect((exp(x)+x)*(x+2))

r2 = collect((x+y)*(x^2+y^2+1), y)

r3 = collect([(x+1)*(y+1),x+y])

執行結果如下

r1 =

x^2 + (exp(x) + 2)*x + 2*exp(x)

r2 =

y^3 + x*y^2 + (x^2 + 1)*y + x*(x^2 + 1)

r3 =

[ y + x*(y + 1) + 1, x + y]

(4)簡化

d =[ a*x + b*y, a*y + b*z, b*x + a*z]

[ a*y + b*z, b*x + a*z, a*x + b*y]

[ b*x + a*z, a*x + b*y, a*y + b*z]

det(d) = - a^3*x^3 + 3*a^3*x*y*z - a^3*y^3 - a^3*z^3 - b^3*x^3 + 3*b^3*x*y*z - b^3*y^3 - b^3*z^3;

factor(det(d))=-(x + y + z)*(x^2 - x*y - x*z + y^2 - y*z + z^2)*(a + b)*(a^2 - a*b + b^2);

simplify(det(d))=-(a^3 + b^3)*(x^3 - 3*x*y*z + y^3 + z^3);

完!

關於Matlab中符號運算的因式分解 展開與合併

對於matlab求解符號運算中幾個常用的函式,主要說一下因式分解 展開還有合併。1 對於因式分解使用的是factor 函式。例1 factor函式對於純數字也可以進行分解的 factor 112 ans 2 2 2 2 7 例2 對於符號函式 syms x y factor x 3 y 3 ans ...

factor 符號矩陣的因式分解

功能簡介 求符號表示式的因式分解,此外還能對整數進行素數因子分解。語法格式 1 f factor n 對整數n進行素數因子分解,返回包含n的素數因子的行向量。2 factor x 對符號表示式或符號整數陣列x進行因式分解。例項3.61 對整數和符號表示式進行分解。factor 321 對整數321進...

階乘因式分解

時間限制 3000 ms 記憶體限制 65535 kb 難度 3 描述 給定兩個數n,m,其中m是乙個素數。將n 0 n 2 31 的階乘分解質因數,求其中有多少個m。注 為求冪符號。輸入 第一行是乙個整數s 0 輸出輸出m的個數 樣例輸入 3 100 5 16 2 1000000000 13 樣例...