Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

ライブ エディター タスクを使用したシンボリック式の単純化

R2020a 以降、ライブ エディターの単純化 (シンボリック式)タスクを使用して、対話形式でシンボリック式を単純化したり再配置したりすることができます。ライブ エディター タスクの詳細については、ライブ スクリプトへの対話型タスクの追加を参照してください。

この例では、適切な手法を選択して、さまざまなシンボリック式を特定の形式に単純化したり再編したりする方法を示します。

シンボリック式の単純化

ie-ix-eixe-ix+eix を単純化します。

まず、[ホーム] タブに移動し、 [新規ライブ スクリプト] をクリックしてライブ スクリプトを作成します。シンボリック変数 x を定義し、式をシンボリック式として宣言します。

syms x;
expr = 1i*(exp(-1i*x) - exp(1i*x))/(exp(-1i*x) + exp(1i*x));

[ライブ エディター] タブで、 [実行] をクリックしてコードを実行し、xexpr を現在のワークスペースに保存します。

次に、[ライブ エディター][タスク]、[単純化 (シンボリック式)] を選択して[単純化 (シンボリック式)] タスクを開きます。ワークスペースからシンボリック式 expr を選択し、単純化方法に Simplify を指定します。計算エフォートとして Minimum を選択します (最速の計算時間)。

simplifyLET1.png

より単純な式を得るには、計算エフォートを Medium に変更します。

simplifyLET2.png

シンボリック式の単純化を試すには、他のシンボリック式や単純化方法についても上記の手順を繰り返すことができます。以下の例は、既存のライブ スクリプトにコードを追加するか新規ライブ スクリプトを作成して実行できます。

多項式の分数の単純化

多項式の分数 (x2-1)(x+1)x2-2x+1 を単純化します。

多項式の分数をシンボリック式として宣言します。

expr2 = ((x^2 - 1)*(x + 1))/(x^2 - 2*x + 1);

ワークスペースからシンボリック式 expr2 を選択し、単純化方法に Simplify fraction を指定します。

simplifyLET3.png

[展開] オプションを選択して、単純化された分数の分子と分母を展開形式で返すようにします。

simplifyLET4.png

異なる形式での式の書き換え

三角関数 tan(x) を正弦関数に書き換えます。

tan(x) をシンボリック式として宣言します。

expr3 = tan(x);

ワークスペースからシンボリック式 expr3 を選択し、単純化方法に Rewrite を指定します。sin を選択してtan(x) を正弦関数に書き換えます。

simplifyLET5.png

対数式の展開

対数恒等式を使用して式 log(x3ex2) を展開します。

対数式をシンボリック式として宣言します。

expr4 = log(x^3*exp(x)/2);

ワークスペースからシンボリック式 expr4 を選択し、単純化方法に Expand を指定します。既定では、作成時の expr4 のシンボリック変数 x は複素数です。変数の複素数に対して対数恒等式が有効でないため、Expand メソッドは入力式を単純化しません。恒等式 (便利だが変数のすべての値について成り立つわけではない) を適用するには、[解析の制約を無視] オプションを選択します。

simplifyLET6.png

2 つの積分式の和の単純化

2 つの積分式の和 abxf(x)dx+abg(y)dy を単純化します。

まず、ab をシンボリック変数として、f(x)g(y) をシンボリック関数として定義します。関数 int を使用して積分を表します。

syms a b f(x) g(y)
expr5 = int(x*f(x),x,a,b) + int(g(y),y,a,b);

ワークスペースからシンボリック式 expr5 を選択し、単純化方法に Combine を指定します。組み合わせる関数として int を選択します。

simplifyLET7.png

コード生成

タスクが使用したコードを表示するには、タスク ウィンドウ下部の をクリックします。タスクにコード ブロックが表示されます。これをコピーして貼り付けることで、後で既存のスクリプトや別のプログラムで使用したり変更したりできます。以下に例を示します。

simplifyLET8.png

基となるコードがライブ スクリプトの一部になっているため、タスクによって作成された変数を使用して、さらに処理を継続できます。たとえば、関数 f(x) および g(x)f(x)=x および g(x)=cos(x) として定義します。この関数を代入して simplifiedExpr3 の積分を評価します。

参考

ライブ エディター タスク

関数

関連するトピック