| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
13.1 三角関数について 13.2 三角関数に関する諸定義
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
(* 訳者注: Trigの同一性とは、cos(x)^2+sin(x)^2=1やcos(2*x)=2*cos(x)^2-1と云った三角関数や 双曲関数の恒等式の事。 *) |
MACSYMAで定義された三角関数は:ACOS, ACOSH, ACOT, ACOTH, ACSC, ACSCH, ASEC, ASECH, ASIN, ASINH, ATAN, ATANH, COS, COSH, COT, COTH,CSC, CSCH, SEC, SECH, SIN, SINH, TAN,とTANHである。
三角関数に付随する関数に関しては、TRIGEXPAND,TRIGREDUCE,とTRIGSIGNスイッチを 参照せよ。二つのSHAREパッケージはMACSYMAに組み込みの簡易化の規則NTRIGとATRIG を拡張する。詳細はDESCRIBE(cmd)を実行せよ。
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
(C1) X+SIN(3*X)/SIN(X),TRIGEXPAND=TRUE,EXPAND;
2 2
(D1) - SIN (X) + 3 COS (X) + X
(C2) TRIGEXPAND(SIN(10*X+Y));
(D2) COS(10 X) SIN(Y) + SIN(10 X) COS(Y)
|
(C4) TRIGREDUCE(-SIN(X)^2+3*COS(X)^2+X); (D4) 2 COS(2 X) + X + 1 三角関数簡易化ルーチンは幾つかの単純な場合で宣言された情報を用いる。 変数に関する宣言は次の様に使われる、例えば、 (C5) DECLARE(J, INTEGER, E, EVEN, O, ODD)$ (C6) SIN(X + (E + 1/2)*%PI)$ (D6) COS(X) (C7) SIN(X + (O + 1/2) %PI); (D7) - COS(X) |
tan,sec等を含む式の簡易化の為に、恒等式sin(x)^2+cos(x)^2=1と cosh(x)^2-sinh(x)^2=1を使って、sin,cos,sinh,coshへと変換し、その結果に TRIGREDUCEを用いればより進んだ簡易化が得られる様にする。幾つかの例は DEMO("trgsmp.demo");を実行すれば見られる。TRIGSUM関数も参照せよ。
(* 訳者注:
ここで、DEMO("trgsmp.demo")を実行せよとあるが、実際のファイル名は
share/trgsmp.dmoである。従って、ファイル名をtrgsmp.demoに変更するか、
src/init_max1.lispの$file_search_demoの修飾子リストにdmoを加える等の工夫
が必要である。
*)
|
(c1) trigrat(sin(3*a)/sin(a+%pi/3)); (d1) sqrt(3) sin(2 a) + cos(2 a) - 1 |
ここで、別の例(この関数はこれを目的としている)がある; [Davenport, Siret, Tournier, Calcul Formel, Masson (英語版はAddison-Wesley), section 1.5.5, Morley theorem)を見よ。計算時間はVAX 780のものである。
(c4) c:%pi/3-a-b;
%pi
(d4) - b - a + ---
3
(c5) bc:sin(a)*sin(3*c)/sin(a+b);
sin(a) sin(3 b + 3 a)
(d5) ---------------------
sin(b + a)
(c6) ba:bc,c=a,a=c$
(c7) ac2:ba^2+bc^2-2*bc*ba*cos(b);
2 2
sin (a) sin (3 b + 3 a)
(d7) -----------------------
2
sin (b + a)
%pi
2 sin(a) sin(3 a) cos(b) sin(b + a - ---) sin(3 b + 3 a)
3
- --------------------------------------------------------
%pi
sin(a - ---) sin(b + a)
3
2 2 %pi
sin (3 a) sin (b + a - ---)
3
+ ---------------------------
2 %pi
sin (a - ---)
3
(c9) trigrat(ac2);
Totaltime= 65866 msec. GCtime= 7716 msec.
(d9)
- (sqrt(3) sin(4 b + 4 a) - cos(4 b + 4 a)
- 2 sqrt(3) sin(4 b + 2 a)
+ 2 cos(4 b + 2 a) - 2 sqrt(3) sin(2 b + 4 a) + 2 cos(2 b + 4 a)
+ 4 sqrt(3) sin(2 b + 2 a) - 8 cos(2 b + 2 a) - 4 cos(2 b - 2 a)
+ sqrt(3) sin(4 b) - cos(4 b) - 2 sqrt(3) sin(2 b) + 10 cos(2 b)
+ sqrt(3) sin(4 a) - cos(4 a) - 2 sqrt(3) sin(2 a) + 10 cos(2 a)
- 9)/4
(* 訳者注:
Pentium!!! 600MHzでのtrigrat(ac2)の結果:
gcl上のMaxima: 0.51[sec]
clisp上のMaxima: 0.90[sec]
*)
|
| [ << ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |