このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
ライブ エディター タスクを使用したシンボリック式の単純化
R2020a 以降、ライブ エディターの単純化 (シンボリック式)タスクを使用して、対話形式でシンボリック式を単純化したり再配置したりすることができます。ライブ エディター タスクの詳細については、ライブ スクリプトへの対話型タスクの追加を参照してください。
この例では、適切な手法を選択して、さまざまなシンボリック式を特定の形式に単純化したり再編したりする方法を示します。
シンボリック式の単純化
式 を単純化します。
まず、[ホーム] タブに移動し、 [新規ライブ スクリプト] をクリックしてライブ スクリプトを作成します。シンボリック変数 x
を定義し、式をシンボリック式として宣言します。
syms x;
expr = 1i*(exp(-1i*x) - exp(1i*x))/(exp(-1i*x) + exp(1i*x));
[ライブ エディター] タブで、 [実行] をクリックしてコードを実行し、x
と expr
を現在のワークスペースに保存します。
次に、[ライブ エディター] で [タスク]、[単純化 (シンボリック式)] を選択して[単純化 (シンボリック式)] タスクを開きます。ワークスペースからシンボリック式 expr
を選択し、単純化方法に Simplify
を指定します。計算エフォートとして Minimum
を選択します (最速の計算時間)。
より単純な式を得るには、計算エフォートを Medium
に変更します。
シンボリック式の単純化を試すには、他のシンボリック式や単純化方法についても上記の手順を繰り返すことができます。以下の例は、既存のライブ スクリプトにコードを追加するか新規ライブ スクリプトを作成して実行できます。
多項式の分数の単純化
多項式の分数 を単純化します。
多項式の分数をシンボリック式として宣言します。
expr2 = ((x^2 - 1)*(x + 1))/(x^2 - 2*x + 1);
ワークスペースからシンボリック式 expr2
を選択し、単純化方法に Simplify fraction
を指定します。
[展開] オプションを選択して、単純化された分数の分子と分母を展開形式で返すようにします。
異なる形式での式の書き換え
三角関数 を正弦関数に書き換えます。
をシンボリック式として宣言します。
expr3 = tan(x);
ワークスペースからシンボリック式 expr3
を選択し、単純化方法に Rewrite
を指定します。sin
を選択して を正弦関数に書き換えます。
対数式の展開
対数恒等式を使用して式 を展開します。
対数式をシンボリック式として宣言します。
expr4 = log(x^3*exp(x)/2);
ワークスペースからシンボリック式 expr4
を選択し、単純化方法に Expand
を指定します。既定では、作成時の expr4
のシンボリック変数 x
は複素数です。変数の複素数に対して対数恒等式が有効でないため、Expand
メソッドは入力式を単純化しません。恒等式 (便利だが変数のすべての値について成り立つわけではない) を適用するには、[解析の制約を無視] オプションを選択します。
2 つの積分式の和の単純化
2 つの積分式の和 を単純化します。
まず、 と をシンボリック変数として、 と をシンボリック関数として定義します。関数 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
を選択します。
コード生成
タスクが使用したコードを表示するには、タスク ウィンドウ下部の をクリックします。タスクにコード ブロックが表示されます。これをコピーして貼り付けることで、後で既存のスクリプトや別のプログラムで使用したり変更したりできます。以下に例を示します。
基となるコードがライブ スクリプトの一部になっているため、タスクによって作成された変数を使用して、さらに処理を継続できます。たとえば、関数 および を および として定義します。この関数を代入して simplifiedExpr3
の積分を評価します。
参考
ライブ エディター タスク
関数
simplify
|simplifyFraction
|combine
|expand
|rewrite