對於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 樣例...