Main Content

最新のリリースは,このページがまだ翻訳されいません。このページの最新版は英語でご覧になれます。

关节をして式を再编する

同じ代数構造の項を結合する

符号数学工具箱™では,式内式内の分式を合并相关数Combineが提供されています。関数Combineたとえば,三角关键词はは等等使。

syms x y组合(2 * sin(x)* cos(x),'sincos')
一种ns = sin(2*x)

ターゲット関数が指定されない場合、Combineはべき乗について次の恒等性が有効な場合は必ず、これらの恒等を使用します。

  • 一种B. aC= aB.+ c

  • 一种C bC=(a b)C

  • (aB.C= a公元前

たとえば、既定の設定で、この関数は次の平方根を結合します。

组合(SQRT(2)* SQRT(x))
一种ns = (2*x)^(1/2)

负の値ののについては恒等が有象とはならため,关个字sqrt(x)*sqrt(y)を结合しません。

Combine(sqrt(x)*sqrt(y))
一种ns = x^(1/2)*y^(1/2)

これらの平方英を结合するにはIgnoreAnalyticConstraintsオプションを使用します。

组合(SQRT(x)* sqrt(y),'ignoreanalyticconstraints',true)
ans =(x * y)^(1/2)

IgnoreAnalyticConstraintsは、変数の値について一般的に使用される仮定の下で、式を結合できるショートカットを提供します。代わりに、変数に適切な仮定を明示的に設定することもできます。たとえば、Xyは正の値であると仮定します。

假设([x,y],'正')组合(sqrt(x)* sqrt(y))
ans =(x * y)^(1/2)

计算を続けるため,Xyにに设定されれた仮定Syms.を使用して再作成することで消去します。

Syms X Y.

Combineは,ターゲット关圈一种tanexp.伽玛intlogsincosおよびsinhcosh.ををます。

式を开する

単純な式に対して、関数exp.一种ndを使用して、積の和を乗算することで元の式を変換します。この関数は、多項式を展開するための簡単な方法を提供します。

exp.一种nd((x - 1)*(x - 2)*(x - 3))
一种ns = x^3 - 6*x^2 + 11*x - 6
exp.一种nd(x*(x*(x - 6) + 11) - 6)
一种ns = x^3 - 6*x^2 + 11*x - 6

また,指数関数や対数関数の式も展開します。たとえば、指数を含む次の式を展開します。

展开(exp(x + y)*(x + exp(x  -  y)))))
ans = exp(2 * x)+ x * exp(x)* exp(y)

対しのます开は総称として総称総称のですですですですです。

syms a b c正展开(日志(a * b * c))
ans = log(a)+ log(b)+ log(c)

計算を続行するよう仮定を消去します。

Syms A B C

または,対数を开するときはIgnoreAnalyticConstraintsオプションを使用します。

exp.一种nd(log(a*b*c),'IgnoreAnalyticConstraints',true)
ans = log(a)+ log(b)+ log(c)

exp.一种ndは,三角关节のの展开着について有效。たとえば,次の式を开头。

展开(cos(x + y))
一种ns = cos(x)*cos(y) - sin(x)*sin(y)

exp.一种ndは,关节数量数学的恒等を使使。

展开(SIN(5 * x))
ans = sin(x) -  12 * cos(x)^ 2 * sin(x)+ 16 * cos(x)^ 4 * sin(x)
展开(COS(3 * ACOS(x))))
ans = 4 * x ^ 3  -  3 * x

exp.一种ndは、すべての部分式に対して再帰的に作用します。

展开((SIN(3 * x)+ 1)*(cos(2 * x) -  1)))
ans = 2 * sin(x)+ 2 * cos(x)^ 2  -  10 * cos(x)^ 2 * sin(x)+ 8 * cos(x)^ 4 * sin(x) -  2

すべてすべて三相关节,幂关关数次数关节の分式の展开をには,オプション算法を使用します。

展开(exp(x + y)*(x + exp(x-y)),'arthmeticonly',true)
一种ns = exp(x - y)*exp(x + y) + x*exp(x + y)
展开((SIN(3 * x)+ 1)*(cos(2 * x) -  1),'arthmetticonly',true)
ans = cos(2 * x) -  sin(3 * x)+ cos(2 * x)* sin(3 * x) -  1

式式偏分分享する

式式のすべてのの既约既约因を返すに,关词因子たとえば,次の多项式すべて既约既约子をます结果はこの多重式が3つの根X= 1X= 2およびX= 3をもつことを示します。

Syms x因子(x ^ 3  -  6 * x ^ 2 + 11 * x  -  6)
ans = [x  -  3,x  -  1,x  -  2]

多項式が既約の場合は、因子は元の式をますます。

因子(x ^ 3  -  6 * x ^ 2 + 11 * x  -  5)
一种ns = x^3 - 6*x^2 + 11*x - 5

x ^ 6 + 1ので项求め求め求め求めでででははでで,因子は、有理数について、厳密なシンボリック型を保持させたまま因数分解を使用します。得られたこの式の因数は、多項式の根を示していません。

因子(x^6 + 1)
ans = [x ^ 2 + 1,x ^ 4  -  x ^ 2 + 1]

たとえば,式は更にで,この,同じは因で。

因子(x ^ 6 + 1,'temormode','complex')
一种ns = [ x + 0.86602540378443864676372317075294 + 0.5i,... x + 0.86602540378443864676372317075294 - 0.5i,... x + 1.0i,... x - 1.0i,... x - 0.86602540378443864676372317075294 + 0.5i,... x - 0.86602540378443864676372317075294 - 0.5i]

因子は、多項式や有理式以外の式についても有効です。たとえば、対数関数、正弦関数および余弦関数を含む次の式を因数分解することができます。内部的には因子は、これらの式を変数をもつ部分式に置き換えて、多項式と有理式に変換します。既約因子の計算後、関数は元の部分式を戻します。

因子((log(x)^ 2  -  1)/(cos(x)^ 2  -  sin(x)^ 2)))
ans = [log(x) -  1,log(x)+ 1,1 /(cos(x) -  sin(x)),1 /(cos(x)+ sin(x))]

因子をを使用して,シンボリック函数とシンボリック有理算数分数分别

因子(SYM(902834092))因子(1 / sym(210))
一种ns = [ 2, 2, 47, 379, 12671] ans = [ 1/2, 1/3, 1/5, 1/7]

因子は,matlab.®关节因子では不可能なFlintmax.よりより大厦数码分数分类分别解行。

因素(SYM('41758540882408627201')))
一种ns = [ 479001599, 87178291199]

式のの分式抽出

关节孩子们は式のの分式をます。

复数の分式からなる式Fを定义します。

syms x y f = exp(3 * x)* y ^ 3 + exp(2 * x)* y ^ 2 + exp(x)* y;

孩子们を使用してFのの分式を抽出します。

expr =儿童(f)
expr = [y ^ 2 * exp(2 * x),y ^ 3 * exp(3 * x),y * exp(x)]

结果に対して孩子们を繰り返し呼び出すことで、下位レベルの部分式を抽出できます。

孩子们を缲り返し呼び出してexp.r(1)のの分式を抽出します。孩子们への入力がベクトルである場合、出力は cell 配列になります。

exp.r1 = children(expr(1)) expr2 = children(expr1)
expr1 = [y ^ 2,exp(2 * x)] expr2 = 1×2单元阵列{1×2 sym} {1×1 sym}

中かっこを使用して、cell 配列Expr2.の内容にアクセスします。

EXPR2 {1} EXPR2 {2}
一种ns = [ y, 2] ans = 2*x

同じべき乗で項をまとめる

数式に、指定された変数や式の同一べき乗項が含まれる場合、関数Collectはこういった項をグループ化して式を再編成します。Collectを呼び出すときは,关节函数とと见なす指定します。关键词Collectは,元の式をされたの见なし见なし见なし见なし见なしとししししししししししししししししししししししししししししししししししXの同一べき乘でで化し。

Syms X Y.Z.exp.r = x*y^4 + x*z + 2*x^3 + x^2*y*z +... 3*x^3*y^4*z^2 + y*z^2 + 5*x*y*z; collect(expr, x)
一种ns = (3*y^4*z^2 + 2)*x^3 + y*z*x^2 + (y^4 + 5*z*y + z)*x + y*z^2

同じ式の项をyの同一べき乘でで化し。

Collect(expr, y)
ans =(3 * x ^ 3 * z ^ 2 + x)* y ^ 4 +(x ^ 2 * z + 5 * x * z + z ^ 2)* y + 2 * x ^ 3 + z * x

同じ式の项をZ.の同一べき乘でで化し。

收集(expr,z)
ans =(3 * x ^ 3 * y ^ 4 + y)* z ^ 2 +(x + 5 * x * y + x ^ 2 * y)* z + 2 * x ^ 3 + x * y ^ 4

Collectにより函数ととみなされるれるべきがが指定指定ささされれないない场场场场场Symvar.を使用して既定の変数を決定します。

收集(expr)
一种ns = (3*y^4*z^2 + 2)*x^3 + y*z*x^2 + (y^4 + 5*z*y + z)*x + y*z^2

いくつかの未知数をとして指定するによって,これらの未知数号式の项まとめます。

Collect(expr, [y,z])
一种ns = 3*x^3*y^4*z^2 + x*y^4 + y*z^2 + (x^2 + 5*x)*y*z + x*z + 2*x^3

式を别の关键词

ある式を特定の関数で表すには、関数改写附有关关节。たとえば,特点の三相关节で。

Syms X Rewrite(Sin(x),'tan')
ans =(2 * tan(x / 2))/(tan(x / 2)^ 2 + 1)
重写(cos(x),'tan')
一种ns = -(tan(x/2)^2 - 1)/(tan(x/2)^2 + 1)
改写(sin(2*x) + cos(3*x)^2,'tan')
一种ns = (tan((3*x)/2)^2 - 1)^2/(tan((3*x)/2)^2 + 1)^2 +... (2*tan(x))/(tan(x)^2 + 1)

改写を使用して、これらの三角関数を指数関数で表します。

改写(sin(x),'exp')
ans =(exp(-x * 1i)* 1i)/ 2  - (exp(x * 1i)* 1i)/ 2
重写(cos(x),'exp')
ANS = EXP(-X * 1i)/ 2 + exp(x * 1i)/ 2

改写を使用して、これらの双曲線関数を指数関数で表します。

重写(Sinh(x),'exp')
ans = exp(x)/ 2  -  exp(-x)/ 2
重写(Cash(x),'exp')
一种ns = exp(-x)/2 + exp(x)/2

また,改写はは双双线关关数函数でます。

重写(asinh(x),'log')
一种ns = log(x + (x^2 + 1)^(1/2))
重写(Acosh(x),'log')
一种ns = log(x + (x - 1)^(1/2)*(x + 1)^(1/2))

式の部分分数分解を計算する

关节Partfrac.は,但是,有理以理解的有数量の项和の形式形式。Partfrac.が,明显により単纯な形式返す结合もありあり。

syms x n = x ^ 6 + 15 * x ^ 5 + 94 * x ^ 4 + 316 * x ^ 3 + 599 * x ^ 2 + 602 * x + 247;d = x ^ 6 + 14 * x ^ 5 + 80 * x ^ 4 + 238 * x ^ 3 + 387 * x ^ 2 + 324 * x + 108;partfrac(n / d,x)
ans = 1 /(x + 1)+ 1 /(x + 2)^ 2 + 1 /(x + 3)^ 3 + 1

有理数の項の分母が、元の式の因子となっている共通分母を表します。

因子(D)
ans = [x + 1,x + 2,x + 2,x + 3,x + 3,x + 3]

有理算式の标准形を计算する

关节simplifyFractionは、展開された分子と分母をもつ 1 つの有理数の項で元の有理式を表します。返された式の分子と分母の最大公約数は 1 です。この関数は、関数simplifyよりも效率的ににをを化し。

Syms X Y.simplifyFraction((x^3 + 3*y^2)/(x^2 - y^2) + 3)
一种ns = (x^3 + 3*x^2)/(x^2 - y^2)

simplifyFractionは分子と分母に現れる共通因子を相殺します。

simplifyFraction(x^2/(x + y) - y^2/(x + y))
ans = x  -  y

simplifyFractionは,多重式や有关关节のののはももももも式ますますは,关关数はこれら式を子ををもつ式をて,多元式都有关键词した后,simplifyFractionは元のの分式をます。

simpleIcefroaction((exp(2 * x) -  exp(2 * y))/(exp(x) -  exp(y)))
一种ns = exp(x) + exp(y)

ホーナーの入れ子形式で多項式を表現する

ホーナーの (入れ子にされた) 多項式の形式は、同じ多項式の数学的に等価な他の形式と比べて算術演算が少ないことが多いため、数値評価に効率的です。通常、この形式の式は数値的に安定しています。入れ子形式で多項式を表すには、関数霍尔尔を使用します。

Syms x Horner(x ^ 3  -  6 * x ^ 2 + 11 * x  -  6)
一种ns = x*(x*(x - 6) + 11) - 6

多項式の係数が浮動小数点数の場合,得られるホーナー形式はこれを有理数として表します。

Horner(1.1 + 2.2 * x + 3.3 * x ^ 2)
ans = x *((33 * x)/ 10 + 11/5)+ 11/10

得られた式ののをを动小数数码に変换には,VPA.を使用します。

VPA(ANS)
一种ns = x*(3.3*x + 2.2) + 1.1