Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

displayFormula

string からのシンボリック式の表示

説明

displayFormula(symstr) は演算を評価せずに string symstr からシンボリック式を表示します。symstr で指定されるすべてのワークスペース変数はそれぞれの値で置き換えられます。

displayFormula(symstr,old,new) は式または変数 old のみを new で置き換えます。old 以外の式または変数はそれぞれの値で置き換えられません。

すべて折りたたむ

3 行 3 列の行列を作成します。この行列をスカラー係数 K^2 で乗算します。

syms K A
A = [-1, 0, 1; 1, 2, 0; 1, 1, 0];
B = K^2*A
B = 

(-K20K2K22K20K2K20)[-K^2, sym(0), K^2; K^2, 2*K^2, sym(0); K^2, K^2, sym(0)]

結果に、要素単位で実行される乗算が自動的に表示されます。

displayFormula を使用し、演算を評価せずに乗算式を表示します。式を string として入力します。string の変数 A はその値で置き換えられます。

displayFormula("F = K^2*A")

F=K2(-101120110)F == K^2*[(-sym(1)), sym(0), sym(1); sym(1), sym(2), sym(0); sym(1), sym(1), sym(0)]

微分方程式を記述する string を定義します。

S = "m*diff(y,t,t) == m*g-k*y";

微分方程式と追加のテキストを結合する string 配列を作成します。テキストとともに式を表示します。

symstr = ["'The equation of motion is'"; S;"'where k is the elastic coefficient.'"];
displayFormula(symstr)
The equation of motion isThe equation of motion is

m2t2 y=mg-kym*diff(y, t, 2) == m*g - k*y

where k is the elastic coefficient.where k is the elastic coefficient.

シンボリック式を表す string S を作成します。

S = "exp(2*pi*i)";

S が含まれる別の string symstr を作成します。

symstr = "1 + S + S^2 + cos(S)"
symstr = 
"1 + S + S^2 + cos(S)"

displayFormula を使用し、演算を評価せずに symstr を式として表示します。symstr 内の S はその値で置き換えられます。

displayFormula(symstr)
1+e2πi+e2πi2+cos(e2πi)1 + exp(2*sym(pi)*sym(1i)) + (exp(2*sym(pi)*sym(1i)))^sym(2) + cos(exp(2*sym(pi)*sym(1i)))

string S および symstr をシンボリック式として評価するには、str2sym を使用します。

S = str2sym(S)
S = 1sym(1)
expr = str2sym(symstr)
expr = S+cos(S)+S2+1S + cos(S) + S^2 + 1

subs を使用して、変数 S にその値を代入します。double を使用して倍精度で結果を評価します。

double(subs(expr))
ans = 3.5403

係数 ab および c をもつ 2 次式を表す string を定義します。

syms a b c k
symstr = "a*x^2 + b*x + c";

ak で置き換えて、2 次式を表示します。

displayFormula(symstr,a,k)
kx2+bx+ck*x^2 + b*x + c

ab、および c23、および -1 でそれぞれ置き換えて、2 次式を再度表示します。

displayFormula(symstr,[a b c],[2 3 -1])
2x2+3x-12*x^2 + 3*x - 1

2 次式を解くには、str2sym を使用して string をシンボリック式に変換します。solve を使用して 2 次方程式の零点を求めます。

f = str2sym(symstr);
sol = solve(f)
sol = 

(-b+b2-4ac2a-b-b2-4ac2a)[-(b + sqrt(b^2 - 4*a*c))/(2*a); -(b - sqrt(b^2 - 4*a*c))/(2*a)]

subs を使用して、解の ab、および c23、および -1 とそれぞれ置き換えます。

solValues = subs(sol,[a b c],[2 3 -1])
solValues = 

(-174-34174-34)[- sqrt(sym(17))/4 - sym(3/4); sqrt(sym(17))/4 - sym(3/4)]

入力引数

すべて折りたたむ

シンボリック式を表す string。文字ベクトル、string スカラー、文字ベクトルの cell 配列、または string 配列として指定します。

シンボリック式を表す string を string 配列として通常の (一重引用符に囲まれた) テキストと結合することもできます。例については、微分方程式の表示を参照してください。

置き換える式または変数。文字ベクトル、string スカラー、文字ベクトルの cell 配列、string 配列、シンボリック変数、シンボリック関数、シンボリック式、またはシンボリック配列として指定します。

新しい値。数値、文字ベクトル、string スカラー、文字ベクトルの cell 配列、string 配列、シンボリック数、シンボリック変数、シンボリック式、またはシンボリック配列として指定します。

参考

| | | |

R2019b で導入