工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial programming >> MATLAB

MATLAB ガイド:多項式導関数の効率的な計算

数学では、導関数は変数に対する関数の変化率を表します。簡単に言えば、特定の時点で関数がどのように変化しているかを示します。微積分は微積分の基礎であり、変化や運動をモデル化するために物理学、工学、経済学などの分野で広く使用されています。

たとえば、時間の経過に伴う車の位置を記述する関数がある場合、その関数の導関数から車の速度 (位置の変化率) が得られます。

多項式の導関数

多項式は、さまざまな累乗をした変数と係数を組み合わせた数式です。たとえば、多項式 P(x) =3x2 + 2x + 5 は 2 次多項式です。

多項式関数の導関数は、単純なルールを適用することで求められます。各項について、係数に指数を乗算し、その後、指数を 1 減算します。このプロセスは、多項式の各項に対して繰り返されます。

たとえば、次の多項式を考えてみましょう。

P(x) = 3x3 + 4x2 + 2x + 1

導関数 P(x) は −

として計算されます。

したがって、導関数は −

P(x) = 9x2 + 8x + 2

MATLAB の導関数

MATLAB では、組み込み関数を使用して多項式の導関数を簡単に計算できます。 MATLAB の多項式は、変数の降べき乗順に並べられた係数を含むベクトルで表されます。

多項式の導関数を求めるために、MATLAB には関数 Polyder が用意されています。

構文

k = polyder(p)
k = polyder(a,b)
[q,d] = polyder(a,b)

構文の説明

k =Polyder(p) は、p の係数によって与えられる多項式の導関数を計算し、その結果、導関数 d/dx p(x) を表す新しい多項式 k(x) が得られます。

k =Polyder(a,b) は 2 つの多項式 a と b の積の微分を計算し、次のような新しい多項式 k(x) が得られます。

$$\mathrm{\frac{d}{dx}[a(x) \:\cdot \:b(x)]}$$

[q, d] =Polyder(a, b) は、2 つの多項式 a と b の商の導関数を計算し、a(x)/b(x) の導関数を表す q(x) (分子) と d(x) (分母) の 2 つの多項式を返します。

例 1:Polyder(p) を使用した導関数の計算

多項式があると考えてみましょう

P(x) = 4x3 + 3x2 + 2x + 1

この多項式は、MATLAB の係数のベクトルで表すことができます -

p = [4 3 2 1];

この多項式の導関数を計算するには、MATLAB の関数 Polyder を使用します -

k = polyder(p);

matlab コマンド ウィンドウでコードを実行すると、出力は次のようになります。

>> p = [4 3 2 1];
k = polyder(p)
k =
 12 6 2
>>

項 4x3 の導関数は 12x2 です (係数 4 に指数 3 を乗算し、指数を 1 減じます)。

項 3x2 の導関数は 6x です。

項 2x の導関数は 2 です。

定数項の場合、1 には 0 の導関数があります。

したがって、微分多項式は次のようになります。

k(x) = 12x2 + 6x + 2

Matlab では、k の結果は次のようになります:[12 6 2]

例 2:多項式の導関数を求める別の例

次の多項式を検討してください

p(x) = 5x4 + 2x3 + 7x2 - 3x + 8 

この多項式は、MATLAB の係数のベクトルで表すことができます -

p = [5 -2 7 -3 8]

この多項式の導関数を求めるには、MATLAB の関数 Polyder を使用します。

k = polyder(p)

このコマンドは、多項式 p の導関数の係数を返します。

matlab コマンド ウィンドウでコードを実行すると、出力は次のようになります:

>> p = [5 -2 7 -3 8];
k = polyder(p)
k =
 20 -6 14 -3
>> 

ベクトル k =[20 -6 14 -3] は多項式を表します

k(x) = 20x3 - 6x2 + 14x - 3

例 3:Polyder(a, b) を使用した 2 つの多項式の積の微分

2 つの多項式を考えてみましょう

a(x) = 2x2 + 3x + 1
b(x) = 4x + 5

これらの多項式は、MATLAB では係数のベクトルで表すことができます。

a = [2 3 1]
b = [4 5] 

これら 2 つの多項式の積の導関数を計算するには、2 つの入力引数を持つ関数 Polyder を使用します。

k = polyder(a, b);

これにより、a(x) と b(x) の積の導関数の係数が返されます。

matlab コマンド ウィンドウでコードを実行すると、次の出力が得られます:

>> a = [2 3 1];
b = [4 5]; 
k = polyder(a, b)
k =
 24 44 19
>>

したがって、微分多項式は次のようになります:k(x) =24x2 + 44x + 19

例 4:指定された 2 つの多項式の導関数

2 つの異なる多項式を考えてみましょう。

a(x) = 3x3 + 2x2 + x + 4
b(x) = x2 - 5x + 6

これらの多項式は、MATLAB では次の係数ベクトルで表すことができます。

a = [3 2 1 4];
b = [1 -5 6];

これら 2 つの多項式の積の導関数を計算するには、ベクトル a と b を入力として関数 Polyder を使用します。

k = polyder(a, b);

このコマンドは、a(x) と b(x) の積の導関数の係数を返します。

コードが matlab コマンド ウィンドウで実行されると、出力は次のようになります:

>> a = [3 2 1 4];
b = [1 -5 6];
k = polyder(a, b)
k =
 15 -52 27 22 -14
>> 

したがって、微分多項式は -

k(x) = 15x4 - 52x3 + 27x2 + 22x - 14

例 5:[q, d] =Polyder(a, b) を使用した 2 つの多項式の商の導関数

2 つの多項式を考えてみましょう −

a(x) = 4x2 + 3x + 2
b(x) = x2 - 2x + 1

これらの多項式は、Matlab では係数のベクトルで表すことができます。

a = [4 3 2];
b = [1 -2 1];

商 a(x) / b(x) の導関数を計算するには、2 つの出力引数 q と d を指定した Polyder 関数を使用します。

[q,d] = polyder(a,b)

これにより、a(x) / b(x) の導関数の q(x) (分子) と d(x) (分母) という 2 つの多項式が返されます。

コードが matlab コマンド ウィンドウで実行されると、出力は次のようになります:

>> a = [4 3 2];
b = [1 -2 1];
[q,d] = polyder(a,b)
q =
 -11 4 7
d =
 1 -4 6 -4 1
>> 

MATLAB

  1. MATLAB-代数
  2. MATLAB - 環境設定
  3. MATLAB-微積分
  4. MATLAB-文字列
  5. MATLAB - 演算子
  6. MATLAB-グラフィックス
  7. MATLAB で固有値と固有ベクトルをマスターする:実践ガイド
  8. MATLAB-変換
  9. MATLAB-変数
  10. MATLAB-プロット
  11. MATLAB - M ファイル