ドキュメンテーション センター

  • 評価版
  • 製品アップデート

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

rewrite

新しい項で式を書き換え

構文

rewrite(expr,target)
rewrite(A,target)

説明

rewrite(expr,target) は、target の項でシンボリック式 expr を書き換えます。返された式は、元の式と数学的に等価です。

rewrite(A,target) は、target の項で A の各要素を書き換えます。

入力引数

expr

シンボリック式。

A

シンボリックな式のベクトルまたは行列。

target

次の文字列、explogsincossincostansqrtheaviside のいずれかです。

次の三角関数を指数関数で書き換えます。

syms x
rewrite(sin(x), 'exp')
rewrite(cos(x), 'exp')
rewrite(tan(x), 'exp')
ans =
(exp(-x*i)*i)/2 - (exp(x*i)*i)/2
 
ans =
exp(-x*i)/2 + exp(x*i)/2
 
ans =
-(exp(x*2*i)*i - i)/(exp(x*2*i) + 1)
 

正接関数を、正弦関数に書き換えます。

syms x
rewrite(tan(x), 'sin')
ans =
-sin(x)/(2*sin(x/2)^2 - 1)
 

双曲線正接関数を、正弦関数に書き換えます。

syms x
rewrite(tanh(x), 'sin')
ans =
(sin(x*i)*i)/(2*sin((x*i)/2)^2 - 1)
 

次の逆三角関数を、自然対数に書き換えます。

syms x
rewrite(acos(x), 'log')
rewrite(acot(x), 'log')
ans =
-log(x + (1 - x^2)^(1/2)*i)*i
 
ans =
(log(1 - i/x)*i)/2 - (log(i/x + 1)*i)/2
 

矩形パルス関数を Heaviside ステップ関数によって書き換えます。

syms a b x
rewrite(rectangularPulse(a, b, x), 'heaviside')
ans =
heaviside(x - a) - heaviside(x - b)
 

三角パルス関数を Heaviside ステップ関数によって書き換えます。

syms a b c x
rewrite(triangularPulse(a, b, c, x), 'heaviside')
ans =
(heaviside(x - a)*(a - x))/(a - b) - (heaviside(x - b)*(a - x))/(a - b) - (heaviside(x - b)*(c - x))/(b - c) + (heaviside(x - c)*(c - x))/(b - c)
 

rewrite を呼び出し、シンボリック式の次の行列の各要素を指数関数に書き換えます。

syms x
A = [sin(x) cos(x); sinh(x) cosh(x)];
rewrite(A, 'exp')
ans =
[ (exp(-x*i)*i)/2 - (exp(x*i)*i)/2, exp(-x*i)/2 + exp(x*i)/2]
[             exp(x)/2 - exp(-x)/2,     exp(-x)/2 + exp(x)/2]
 

余弦関数を正弦関数に書き換えます。この場合、rewrite は任意の x に対して有効な等式 cos(2*x) = 1 – sin(x)^2 を使用して、余弦関数を置き換えます。

syms x
rewrite(cos(x),'sin')
ans =
1 - 2*sin(x/2)^2

rewrite は、正弦関数を で置き換えることはありません。これは、特定の区間内の x に対してのみこれらの式が有効なためです。

syms x
rewrite(sin(x),'cos')
ans =
sin(x)

詳細

すべて展開する

ヒント

  • rewrite は、expr でのシンボリック関数呼び出しを、ターゲット関数で置き換えます (ただし、このような置き換えが数学的に有効な場合のみ)。それ以外の場合、元の関数呼び出しを保持します。

参考

| | | | | |

この情報は役に立ちましたか?