最新のリリースでは、このページがまだ翻訳されていません。このページの最新版は英語でご覧になれます。
係数をまとめる
シンボリック式の係数をまとめます。
syms x coeffs = collect((exp(x) + x)*(x + 2))
coeffs = x^2 + (exp(x) + 2)*x + 2*exp(x)
変数を指定していないため、collect
ではsymvar
で定義される既定の変数が使用されます。この式では、既定の変数はx
です。
symvar((exp(x) + x)*(x + 2), 1)
ans = x
特定の変数をcollect
の 2 番目の引数として指定して、変数の係数をまとめます。
x
のべき乗で式の係数をまとめ、次にy
のべき乗でまとめます。
syms x y coeffs_x = collect(x^2*y + y*x - x^2 - 2*x, x) coeffs_y = collect(x^2*y + y*x - x^2 - 2*x, y)
coeffs_x = (y - 1)*x^2 + (y - 2)*x coeffs_y = (x^2 + x)*y - x^2 - 2*x
2 番目の引数を変数のベクトルとして指定して、x
とy
の両方のべき乗で係数をまとめます。
syms a b coeffs_xy = collect(a^2*x*y + a*b*x^2 + a*x*y + x^2, [x y])
coeffs_xy = (a*b + 1)*x^2 + (a^2 + a)*x*y
i
とpi
で係数をまとめるi
で式の係数をまとめ、次にpi
でまとめます。
syms x y coeffs_i = collect(2*x*i - 3*i*y, i) coeffs_pi = collect(x*pi*(pi - y) + x*(pi + i) + 3*pi*y, pi)
coeffs_i = (2*x - 3*y)*1i coeffs_pi = x*pi^2 + (x + 3*y - x*y)*pi + x*1i
2 番目の引数を式または関数として指定して、式および関数の係数をまとめます。ベクトル入力を使用して、複数の式または関数の係数をまとめます。
sin(x + 3*y)
を展開し、cos(y)
の係数をまとめ、次にsin(x)
とsin(y)
の両方の係数をまとめます。
syms x y f = expand(sin(x + 3*y)); coeffs_cosy = collect(f, cos(y))
coeffs_cosy = 4*sin(x)*cos(y)^3 + 4*cos(x)*sin(y)*cos(y)^2 + (-3*sin(x))*cos(y) - cos(x)*sin(y)
coeffs_sinxsiny = collect(f, [sin(x) sin(y)])
coeffs_sinxsiny = (4*cos(y)^3 - 3*cos(y))*sin(x) + (4*cos(x)*cos(y)^2 - cos(x))*sin(y)
シンボリック式のシンボリック関数y(x)
の係数をまとめます。
syms y(x) f = y^2*x + y*x^2 + y*sin(x) + x*y; coeffs_y = collect(f, y)
coeffs_y(x) = x*y(x)^2 + (x + sin(x) + x^2)*y(x)
行列でcollect
を呼び出します。collect
は行列の要素ごとに働きます。
syms x y collect([(x + 1)*(y + 1), x^2 + x*(x -y); 2*x*y - x, x*y + x/y], x)
ans = [(y+ 1)*x + y + 1, 2*x^2 - y*x] [ (2*y - 1)*x, (y + 1/y)*x]
関数名を 2 番目の引数として指定して、特定の関数に対する呼び出しの係数をまとめます。複数の関数を文字ベクトルの cell 配列として指定して、複数の関数について関数呼び出しの係数をまとめます。
F
の関数sin
に対する呼び出しの係数をまとめます。ここで、F
はさまざまな関数に対する複数の呼び出しを含みます。
syms a b c d e f x F = a*sin(2*x) + b*sin(2*x) + c*cos(x) + d*cos(x) + e*sin(3*x) +f*sin(3*x); collect(F, 'sin')
ans = (a + b)*sin(2*x) + (e + f)*sin(3*x) + c*cos(x) + d*cos(x)
F
の関数sin
とcos
の両方に対する呼び出しの係数をまとめます。
收集(F,{‘因为’‘罪恶’})
ans = (c + d)*cos(x) + (a + b)*sin(2*x) + (e + f)*sin(3*x)