|このページについて| ''概要'':このページでは、数学ソフトMathematicaでの微分積分する方法を解説します。 ''親ページ'':このページの親ページは[[Mathematica]]です。 |目次| #contents ---- *微分 [#lcb99b3d] とりあえず, f[x_] := 5 x ^3 + 4 x ^2 + 3 x + 1 と関数fを定義しておこう.定義に沿って微分するには Limit[(f[x + h] - f[x])/h, h -> 0] とやればよい. 当然,コマンドがある. D[f[x], x] である. f'[x] とやっても同じ. f''[x] とやれば,2階の導関数を求めてくれる. ここで,いったん定義した関数fを Remove[f] で取り除いておこう.さて, D[f[g[x]], x] とすれば,合成関数の微分の公式をはじき出してくれる. D[(3 x + 5)^5, x] などどすれば, 15 (5 + 3 x)^4 となるので,確かに合成関数の微分の公式は成立していることが確認された. 対数微分法で D[Log[x], x] を計算すれば, 1/x となる. D[Log[f[x]], x] を計算すれば, f'[x]/ f[x] を得る. D[a^x, x] は a^x Log[a] を返す. その他, D[Exp[f[x]], x] D[x^n, x] D[Sin[x], x] などど遊んでみよう. 高次の微分もできる. D[Exp[x], {x, 3}] とやれば,Exp[x]の3階微分を返す.すなわち, e^x である. D[Exp[f[x]], {x, 5}] なども瞬時に計算してくれる.すごい. 導関数を同じ図にプロットしてみよう. f[x_] := x^3 - x^2 - 5 x + 1 と定義しておき, Plot[Evaluate[{f[x], D[f[x], x], D[f[x], {x, 2}]}, {x, -3, 4}]] とすれば,関数fと,1次導関数,2次導関数を同じ図に描いてくれる.ちゃんと,関数fの極値を与えるxは, Solve[{D[f[x], x] == 0}, x] の解になっていることも確認できる.(ここでは,Evaluateを使ってはじめに導関数を求めてから図を描いている.) **テーラー展開 [#jdc3cdb5] テーラー展開,マクローリン展開(=原点周りのテーラー展開)とかも瞬時に簡単. Remove[f] で,さっき定義した関数fをまずは消去しておこう. Series[f[x], {x, a, 4}] とすれば,関数f[x]について,aの周りで4次までのテーラー展開をしてくれる. Series[f[x], {x, a, n}] /. n -> 4 としても同じこと. いくつか,有名なマクローリン展開を紹介しておこう. Series[Exp[x], {x, a, n}] /. {n -> 4, a -> 0} Series[Log[1 + x], {x, a, n}] /. {n -> 4, a -> 0} Series[Sin[x], {x, a, n}] /. {n -> 4, a -> 0} など. *積分 [#s5fa7421] **不定積分 [#gbd082e2] Integrate[x, x] とすれば,関数f(x)=xを,xで不定積分してくれる. Integrate[x^2, x] Integrate[x^3, x] Integrate[x^n, x] Integrate[Exp[x], x] Integrate[Log[x], x] Integrate[Cos[x], x] など,いろいろと遊んでみよう.積分定数は省略されている点に注意. 部分積分の公式を使った計算も,瞬時にやってくれる. たとえば, Integrate[x Exp[x] Cos[x], x] などで確認してみよう. 置換積分法も楽々計算してくれる.例えば, Integrate[( x + 1)^10, x] Integrate[(a x^2 + 1)^10, x] Integrate[Cos[n x], x] などで確認してみよう. 部分分数分解して積分するのも簡単にできる. Integrate[(6 - x)/((5 + x) (-1 + 2 x)), x] などで確認してみよう.部分分数分解は Apart[(6 - x)/((5 + x) (-1 + 2 x))] によって与えられる.分解をもとに戻すには, Together[] というコマンドを使う. **定積分 [#a4b7f472] Integrate[x^3, {x, 0, 1}] などどやれば,&mimetex(\int_0^1 x^3 dx);を計算してくれる. **数値積分 [#w6703fae] Integrate[x^(Cos[3 x]), {x, 0, 1}] のような複雑な関数の積分をしようとすると,解析的に求まらない.そこで,数値的に解くのが数値積分. NIntegrate[x^(Cos[3 x]), {x, 0, 1}] とすれば, 0.763416 瞬時に計算してくれる.すごい. *Reference [#c899a2ea] **参考書籍 [#m54083a0] -宮岡悦良(2000),『Mathematica数学の道具箱〈上〉』,ブレーン出版 -宮岡悦良(2000),『Mathematica数学の道具箱〈下〉』,ブレーン出版 **リンク [#l7209951] -[[神戸大学 Mathematica ホームページ:http://bach.istc.kobe-u.ac.jp/mma/]]