== maximaの初歩的な操作13・・・三角関数の積分 ==
○Xmaxima,wxMaxima のインストール方法,基本操作については[この頁]参照
○Xmaximaでは,数式がアスキーアート風に出力されることが多い.wxMaximaでは数学で通常用いる記号に近い形で結果が示される.以下ではwxMaiximaを用いた場合の例と答を示す.

○wxMaximaでの入力
メニューから[微積分]→[積分]を選ぶと,対話型記入欄になるので
関数,変数を入力し,定積分にチェックを付ける.積分区間の下端,上端にπや∞などの記号定数を使うときは選択肢から選ぶこともできる.

○入力に当たっては,2xなどの書き慣れた記号を2*xと書かなければならないことに注意しましょう.べき乗(指数)を2^nなどと書くのは,TeXの書き方とほぼ同じ

【wxMaximaで定積分】
○三角関数の積分
求めたい定積分 maximaでの入力 結果


nが3以上の奇数のとき



nが2以上の偶数のとき

integrate(sin(x), x, 0, %pi/2);

integrate(sin(x)^3, x, 0, %pi/2);

nを文字として,次のように入力した場合,ベータ関数を用いて形式的に表示されるだけで,右のような初等的な表現にはならない.
integrate(sin(x)^n, x, 0, %pi/2);

integrate(sin(x)^2, x, 0, %pi/2);

integrate(sin(x)^4, x, 0, %pi/2);

nを文字として,次のように入力した場合,ベータ関数を用いて形式的に表示されるだけで,右のような初等的な表現にはならない.
integrate(sin(x)^n, x, 0, %pi/2);
筆算で求めるときは,
とおくと
が成り立つことから,順次次数の低いもので表す









が成り立つ(置換積分で示せる)ので,上記
の結果はに書き換えてもそのまま成り立つ.


○次の形は不定積分として計算できるので,差を取れば定積分になる.
ただし,積分区間に0が含まれると分母が0となって収束しないことがある.
求めたい不定積分 maximaでの入力 結果(※積分定数は省略)

integrate(1/sin(x), x);


※あらかじめ
logabs : true;


※高校数学では,対数関数の真数が正の場合だけを扱う.cosx≦1に注意すると,左記の※のように対数が登場する積分計算では絶対値記号を付けるために logabs という変数の値を trueにしておくとよい.こうしておくと次の結果が得られる.


 筆算では次のようになる.




integrate(1/sin(x)^2, x);



この結果を逆に微分してみると,簡単に確かめられる.

integrate(1/sin(x)^3, x);




このあたりになると,なかなか覚えていられないが,次の漸化式において n=3 とした場合になっている.n=4,6,8,..の場合はに連なる.
とおくと


logabs : true;はそれまでに一度実行してあればよい.
integrate(1/cos(x), x);




integrate(1/cos(x)^2, x);



これは重要公式なので,筆算でもできてほしい

integrate(1/cos(x)^3, x);




※一般に次の漸化式が成り立つ.
とおくと




integrate(1/(1+sin(x)), x);


 …(*)
 筆算では次のように答えるのが普通(積分定数は省略)
とおく

Jcosx=zの置換積分で求める

 …(**)

コンピュータ計算による(*)と手計算による(**)は全然似ていない(積分定数の差異は一般にあり得る).(*)はおそらく,内部処理として次の方法で計算されている.
sinx , cosxの有理式(=分数式)を積分する場合に
とおくと
により,三角関数の積分が有理式(=分数式)の積分に直せる.
この方法で計算した場合,(*)の途中経過は次のようになる


ここで,だから(*)が得られる
(*)と(**)は定数にして1だけ差異があるが,これを積分定数に含めると同じ結果を表している.

integrate(1/(1+cos(x)), x);  …(*)
 筆算では次のように答えるのが普通(積分定数は省略)
 …(**)
また,公式集では次のように書かれている
 …(***)

(**)←筆算での求め方

とおく

Jsinx=zの置換積分で求める


(**)と(***)が等しいこと証明
とおくとだから
(*)と(***)が等しいこと証明
同様にしてで表すと


○ここまでの結果を使うと,次のような不定積分は筆算でも求められる
(積分定数は省略されている)
integrate(sin(x)/(1+sin(x)), x);
wxMaximaから得られる結果
maxiamではtan−1xatanxで表す.
…(*)
公式集などに書かれているもの
…(**)
筆算で求めた場合
…(***)
maximaから機械的に得られる(*)の結果は,あまりうれしくないが,ここでは筆算での求め方,及び(*)(**)(***)が積分定数の差異を除いて互いに等しいことを示してみる.
(筆算***)←

ここで,上記の結果から

だから

(**)←→(***)

だから

とおくと
(**)→

だから
(***)→

したがって(**)=(***)
(*)→(**)
第1項は



第2項は




したがって
(*)→
他方で
(**)→
(*)と(**)は定数項−1の差異を除いて等しいから,これを積分定数に含めると等しい.

○次の積分もほぼ同様にして示される
(wxMaxima) →
(公式集など) →
(筆算) →
(wxMaxima) →
(公式集など) →
(筆算) →
(wxMaxima) →
(公式集など) →
(筆算) →



○次の積分は見かけはここまでの内容と似ているが,分子が分母の微分になっているので,全く別の論理で直ちに解ける.

(積分定数は省略)
maximaで求めるときは,あらかじめ logabs : true;を実行しておく.





○次の積分は見かけは上記に似ているが,分母が分子の微分になっているので,上記のような簡単なものではない.
(積分定数は省略)
…(*)
…(**)
(*)(**)についてmaximaから出力される結果は,複雑過ぎて読みづらい.
ここでは,筆算で求める方法を示す.

(*)←
とおく
については次の部分積分で求める

第2項はとおく置換積分を行う
だから





定数項の差異を積分定数に含めれば(*)が示された.
(**)についても同様

...メニューに戻る ..maximaのメニューに戻る