■フリ−ソフトmaximaの初歩的な操作4・・・三角関数
.
○以下で共通の操作
[1] Xmaxima においては,
画面に
Maxima 5.34.1 http://maxima.sourceforge.net using Lisp GNU Common Lisp (GCL) GCL 2.6.11 (a.k.a. GCL) Distributed under the GNU Public License. See the file COPYING. Dedicated to the memory of William Schelter. The function bug_report() provides bug reporting information. (%i1)
と表示されているので,
□(%i1) (%i2) などと表示される入力行番号の右側にあるカーソル位置に式を入力
□セミコロン ; を付ける
□Enterキーを押す
 (%i1) (%i2) などの行番号は,入力(input)の整理番号となっている.結果は出力(output)として (%o1)などの行番号が自動的に付けられる.
 Xmaximaでは入力したコマンドの行末に,セミコロンを付けなければならない.
[2]  wxMaxima においては
行おうとする操作に応じたコマンドを上端のメニュー画面から選ぶ.
例えば,簡単な四則計算を行うには,[数値処理]→[自動的に数値で出力]を選ぶと
(%i1) if numer#false then numer:false else numer:true;
(%o1) true
などと表示されるので,
□青字で書かれている(%i1) (%i2) などの右に書かれたコマンドを,backSpaceキーやDelキーを使って消す(このとき(%i1) (%i2) などの行番号が自動的に矢印( -->)に書き替えられる)
□式を入力する
□Shift+Enterを押す
 wxMaximaでは,行末のセミコロンは自動的に付けられるが,単にEnterキーを押すだけでなく,Shift+Enterを押す必要がある.
 結果は,各々の入力番号に対応した出力番号として行番号が付けられて(%o1) (%o2)の形で書かれる.


【三角関数の値を求めるには】
(1) の値を各々求めるには
(2) の値を各々求めるには
○上記の[1]の操作を前提として,Xmaximaでは
 入力結果
(出力)
(1) sin(%pi/6);
cos(%pi/4);
tan(%pi/3);
sin(%pi/2);

π%piで表す.




などに対する三角関数は厳密な値で表示される
(2)float(sin(%pi/8));
float(cos(%pi/5));
float(tan(%pi/12));

など以外の値に対する三角関数は,厳密値では表示できず,小数 float() の値でなら表示できる.
0.3826834323650898
0.8090169943749474
0.2679491924311227
○wxMaximaでも同様であるが,(1)で根号となる部分はなどと表示される


【三角関数の加法定理や倍角公式を用いて式を展開するには】
(1) sin(α+β) , cos(x+y+z)を展開するには
(2) sin(2α) , cos(2x−y)を展開するには
○Xmaximaでは
 入力結果
(出力)
(1) trigexpand(sin(%alpha+%beta));
trigexpand(cos(x+y+z));

※ギリシャ文字α , β , γは各々記号定数%alpha , %beta , %gammaで表す.出力においてもこの記号が使われる.
※trigexpand() はexpands trigonometric and hyperbolic functions:三角関数と双曲線関数を展開する関数
cos(%alpha) sin(%beta) + sin(%alpha) cos(%beta)

- cos(x) sin(y) sin(z) - sin(x) cos(y) sin(z) - sin(x) sin(y) cos(z) + cos(x) cos(y) cos(z)

※教科書の公式sinαcosβ+cosαsinαとは順序だけが変わります
(2)あらかじめtrigexpand:true;というコマンドを実行しておき,trigexpandのフラッグをtrueにしておきます.
次にsin(2*%alpha);

同様に,trigexpandのフラッグがtrueの環境で
trigexpand(cos(2*x-y));
を実行します.

2 cos(%alpha) sin(%alpha)

2 cos(x) sin(x) sin(y) + (cos (x) - sin (x)) cos(y)

※もし,デフォルト(=trigexpandのフラッグがfalseの環境)で実行すると,第1段階の展開のみが行われ
sin(2*x)*sin(y)+cos(2*x)*cos(y)になります.

○wxMaximaでも同様ですが,出力においてギリシャ文字α , β , γはそのままギリシャ文字α , β , γで表示されます.
たとえば(1)の最初の問題は,2 cos(α)sin(α)になります.
メニューからは,[式の変形]→[三角関数の操作]→[三角関数の展開]を選び,必要な個所を書き換えます.


【その他,三角関数の変形に使える関数とその特徴】
(1) tigexpand();
(2) trigreduce();
(3) trigsimp();
(1)
 上の例のように,三角関数の加法定理を用いて展開するのに使います.

(2)
 sin(x), cos(x)の積や累乗が含まれる式を二倍角公式や三倍角公式を用いてnxの三角関数で表す時に用いる.なお,数学でsinnxなどと書く三角関数の累乗はsin(x)^nと入力しなければならない.なお,tanxに関する式は変換されない.
 積を和差に直すことができれば,微分や積分の計算が容易になる.
 入力結果
(出力)
(A) trigreduce(sin(x)*cos(x));
(B)trigreduce(sin(x)^2*cos(x));
(C)trigreduce(sin(x)*cos(2*x)*sin(4*x));
(A)を筆算で考えると,2倍角公式により

を変形すると

となることを示している.

(B)を筆算で考えると,
…(B.1)
ここで,3倍角公式により

だから
…(B.2)
(B.2)を(B.1)に代入すると


となることを示している.
(C)を筆算で考えると,
において
積を和に直す公式

を適用すると



積を和に直す公式

を2箇所に適用すると

(3)
sin2x+cos2x=1を用いて,tanx, secxなどを含む式を簡単にします.
 入力結果
(出力)
(A) trigsimp(1+tan(x)^2);
(B)trigsimp(tan(x)+1/tan(x));
(C)trigsimp(cos(x)/(1-sin(x))-2*sec(x));
...メニューに戻る