MATLABガイド:多項式の微分を効率的に計算する
数学において、導関数は関数の変数に対する変化率を表します。簡単に言えば、関数が任意の点でどのように変化しているかを示します。導関数は微積分学の基礎であり、物理学、工学、経済学などで変化と運動をモデル化するために広く使用されます。
例えば、時間に対する車の位置を記述する関数がある場合、その関数の導関数は車の速度(位置の変化率)を与えます。
多項式の導関数
多項式は、変数が異なる累乗で現れ、係数と組み合わされた数学的表現です。例えば、P(x) = 3x² + 2x + 5 は2次多項式です。
多項式関数の導関数は、単純なルールを適用して求められます:各項について、係数に指数を掛け、指数を1減らします。この操作を多項式の各項に対して繰り返します。
例えば、以下の多項式を考えます:
P(x) = 3x³ + 4x² + 2x + 1
導関数 P'(x) は以下のように計算されます:
- 項 3x³ の場合:3に3(指数)を掛けて 9x²
- 項 4x² の場合:4に2を掛けて 8x
- 項 2x の場合:2に1を掛けて 2
- 定数項(1)の導関数は 0
したがって、導関数は:
P'(x) = 9x² + 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 の積の導関数を計算し、d/dx[a(x) · b(x)]を表す新しい多項式 k(x) を返す。[q, d] = polyder(a, b)— 2つの多項式 a と b の商の導関数を計算し、分子 q(x) と分母 d(x) の2つの多項式を返す。これは a(x)/b(x) の導関数を表す。
例1:polyder(p)で導関数を計算
多項式 P(x) = 4x³ + 3x² + 2x + 1 を考えます。
この多項式はMATLABで係数ベクトルとして表現できます:
p = [4 3 2 1];
この多項式の導関数を polyder 関数で計算します:
k = polyder(p);
MATLABコマンドウィンドウで実行すると以下の出力が得られます:
>> p = [4 3 2 1]; k = polyder(p) k = 12 6 2 >>
- 項 4x³ の導関数:12x²(係数4に指数3を掛け、指数を1減らす)
- 項 3x² の導関数:6x
- 項 2x の導関数:2
- 定数項 1 の導関数:0
したがって、導関数多項式は:
k(x) = 12x² + 6x + 2
MATLABでは結果 k は [12 6 2] となります。
例2:別の多項式の導関数を求める
多項式 p(x) = 5x⁴ - 2x³ + 7x² - 3x + 8 を考えます(注:元文書の係数表現に合わせ修正)。
p = [5 -2 7 -3 8]
polyder 関数で導関数を求めます:
k = polyder(p)
実行結果:
>> p = [5 -2 7 -3 8]; k = polyder(p) k = 20 -6 14 -3 >>
ベクトル k = [20 -6 14 -3] は多項式を表します:
k(x) = 20x³ - 6x² + 14x - 3
例3:2つの多項式の積の導関数 polyder(a, b)
2つの多項式を考えます:
a(x) = 2x² + 3x + 1 b(x) = 4x + 5
係数ベクトルで表現:
a = [2 3 1] b = [4 5]
これらの積の導関数を計算:
k = polyder(a, b);
実行結果:
>> a = [2 3 1]; b = [4 5]; k = polyder(a, b) k = 24 44 19 >>
導関数多項式:k(x) = 24x² + 44x + 19
例4:2つの異なる多項式の積の導関数
a(x) = 3x³ + 2x² + x + 4 b(x) = x² - 5x + 6
a = [3 2 1 4]; b = [1 -5 6];
k = polyder(a, b);
実行結果:
>> a = [3 2 1 4]; b = [1 -5 6]; k = polyder(a, b) k = 15 -52 27 22 -14 >>
導関数多項式:k(x) = 15x⁴ - 52x³ + 27x² + 22x - 14
例5:2つの多項式の商の導関数 [q, d] = polyder(a, b)
a(x) = 4x² + 3x + 2 b(x) = x² - 2x + 1
a = [4 3 2]; b = [1 -2 1];
[q,d] = polyder(a,b)
実行結果:
>> a = [4 3 2]; b = [1 -2 1]; [q,d] = polyder(a,b) q = -11 4 7 d = 1 -4 6 -4 1 >>
MATLAB
- MATLABで固有値・固有ベクトルをマスター:実践ガイド
- MATLAB変数の理解:基礎から実例まで徹底解説
- MATLAB演算子完全ガイド:算術・論理・ビット演算・集合操作
- MATLABでの関数プロット:ステップバイステップガイド
- MATLABガイド:多項式の微分を効率的に計算する
- MATLABのdiffコマンドでシンボリック微分を計算
- MATLABグラフィックス応用:高度なプロット技術
- MATLABデータ型完全ガイド:15種類の基本型と変換・判定関数
- Simulink:MATLABの高度なシミュレーション&モデルベース設計ツール
- MATLAB関数:定義、ワークスペース、入出力
- MATLAB変換:ラプラス、フーリエ、FFTを解説