== maximaの初歩的な操作7・・・微分 ==
○Xmaxima,wxMaxima のインストール方法,基本操作については[この頁]参照
○Xmaximaでは,数式がアスキーアート風に出力されることが多い.wxMaximaでは数学で通常用いる記号に近い形で結果が示される.以下ではwxMaiximaを用いた場合の微分計算の例と答を示す.
○wxMaximaで関数を微分するには,メニューから[微積分]→[微分]を選び,対話型メニューに「関数」「変数」「微分回数」を入力して「OK」ボタンを押すと
diff(4*x^3+5*x^2-6*x+7,x,1);
のように,入力すべき式が書き込まれるようになっている.画面上で (%inn) の右にある入力欄を直接書き換えてもよい.
入力に当たっては,2xなどの書き慣れた記号を2*xと書かなければならないことに注意しましょう.
以下はいずれも関数f(x)を変数xで微分する場合の結果
【多項式の微分】
関数f(x) |
wxMaximaでの入力例 |
wxMaximaでの結果 |
4x3+5x2−6x+7 |
diff(4*x^3+5*x^2-6*x+7,x,1); 第3引数の1を省略した場合も,1回微分の結果が示される. |
12x2+10x−6 |
(x+2)(x+3) |
diff((x+2)*(x+3),x,1); |
2x+5 |
(2x−3)4 |
diff((2*x-3)^4,x,1); |
8(2x-3)3 |
(x2+3x−4)3 |
diff((x^2+3*x-4)^3,x,1); |
3(2x+3)(x2+3x−4)2 |
【分数関数の微分】
関数f(x) |
wxMaximaでの入力例 |
wxMaximaでの結果 |
|
diff((x+2)/(x-3),x,1); |
(x−3)のべきを分母として表示される |
|
diff((x+3)/((x-1)*(x+2)),x,1); |
(x−1),(x+2)のべきを分母として表示される |
|
diff((x^2+a^2)/(x^2-a^2),x,1); |
文字係数の場合も扱える |
【無理関数の微分】
関数f(x) |
wxMaximaでの入力例 |
wxMaximaでの結果 |
|
diff(sqrt(x^2+1),x); 正の平方根は sqrt() または ( )^(1/2)と入力する. |
|
|
diff((x+2)^2*sqrt(x+2),x,1); 正の平方根は sqrt() または ( )^(1/2)と入力する. 累乗根は分数指数を使って
x^(m/n) で表せる. |
diff((x+2)^(5/2),x,1);としても同じ結果になる |
|
diff((x+1)/(x+2)^(4/3),x); 累乗根は分数指数を使って
x^(m/n) で表せる. diff((x+1)/((x+2)*(x+2)^(1/3)),x);としても同じ結果になる |
|
【指数関数・対数関数の微分】
関数f(x) |
wxMaximaでの入力例 |
wxMaximaでの結果 |
|
diff((exp(3*x)+exp(-2*x))/2,x);
または
diff((%e^(3*x)+%e^(-2*x))/2,x);
e を底とする指数関数は exp( ) または
%e^( )と入力する. |
単なる文字ではなく自然対数の底としての e は記号 %e で表示される |
|
diff(2^x,x,1); |
|
|
diff(x^x,x); |
|
|
diff(log(x^2+3),x); Excelとは異なり,自然対数を log( )で示す.他の底を用いるときは底の変換公式により底を e に直して使う |
|
|
diff(log(x+sqrt(x^2+1)),x);
このままでは右のように整理できていない形で結果が出るが,さらに有理式を展開する関数 ratexpand( );を付けると簡単になる.
ratexpand(diff(log(x+sqrt(x^2+1)),x));
|
|
【三角関数・逆三角関数・双曲線関数の微分】
関数f(x) |
wxMaximaでの入力例 |
wxMaximaでの結果 |
|
diff(sin(x)^2,x);
数学記号でsin2xと書くものは,Maximaのコマンドではsin(x)^2と書かなければならない.
|
さらに三角関数を倍角を使って簡単にする関数 trigreduce( ) を使えば
になる
|
|
diff(sqrt(cos(x)),x); |
|
|
diff(atan(x),x);
逆三角関数
arcsinx, arccosx, arctanx
もしくはsin−1x, cos−1x, tan−1x
はMaxiamでは
asin(x), acos(x), atan(x) と入力する.
|
|
|
diff(cosh(x^2-1),x);
双曲線関数は,ほぼそのままと入力する
|
|
【高次導関数,陰関数の微分】
関数f(x) |
wxMaximaでの入力例 |
wxMaximaでの結果 |
の第2次導関数 |
diff(%e^x*cos(x),x,2);
第 n 次導関数を求めるには,第 3 引数を 2 にする.この第 3 引数が n のような文字のときは第n次導関数の形式的な記号が返される.
|
|
の第4次導関数 |
diff(sin(x),x,4); |
sinx→cosx
→−sinx→−cosx
→sinx
のように4回で1周します
|
のときを求めるには |
depends(y,x);
diff(x^2+y^2=1,x);
陰関数f(x,y)=0で表示された関数を微分するには,depends(y,x);によって関数の依存関係を明示してから微分します.
|
|
|