Main Content

ライブ エディターでの微積分について

Symbolic Math Toolbox™ を使った微積分と応用数学を紹介します。例では、初歩的な関数 fplotdiff を説明します。

シンボリック変数を操作するために、syms というタイプのオブジェクトを作成します。

syms x

シンボリック変数を定義したら、関数を作成して、fplot で可視化できます。

f(x) = 1/(5+4*cos(x))
f(x) = 

14cos(x)+5

fplot(f)

Figure contains an axes object. The axes object contains an object of type functionline.

数学的表記を使用し、x=π/2 で関数を評価します。

f(pi/2)
ans = 

15

シンボリック変数を扱うことができる関数は多数あります。たとえば、diff は関数を微分します。

f1 = diff(f) 
f1(x) = 

4sin(x)4cos(x)+52

fplot(f1) 

Figure contains an axes object. The axes object contains an object of type functionline.

diff はさらに、Nth 導関数を求めることもできます。以下は、2 次導関数です。

f2 = diff(f,2) 
f2(x) = 

4cos(x)4cos(x)+52+32sin(x)24cos(x)+53

fplot(f2) 

Figure contains an axes object. The axes object contains an object of type functionline.

int は、シンボリック変数の関数を積分します。2 次導関数を 2 回積分することで元の関数を得る試みを以下に示します。

g = int(int(f2)) 
g(x) = 

-8tan(x2)2+9

fplot(g)

Figure contains an axes object. The axes object contains an object of type functionline.

一見すると、f のプロットと g のプロットは同じように思われます。しかし、これらの式と y 軸上範囲をよく観察してください。

subplot(1,2,1) 
fplot(f) 
subplot(1,2,2) 
fplot(g)

Figure contains 2 axes objects. Axes object 1 contains an object of type functionline. Axes object 2 contains an object of type functionline.

e は、fg の差です。e の式は複雑ですが、このグラフは定数のようです。

e = f - g 
e(x) = 

8tan(x2)2+9+14cos(x)+5

この差が実際に定数であることを示すために、上記の方程式を単純化します。これにより、この差が実際に定数であることを確認できます。

e = simplify(e) 
e(x) = 1