フリーの数式処理ソフトwxMaxima

wxMaximaとは?

フリーの数式処理ソフトMaximaにユーザーインターフェースを付けたものでコマンドの入力が簡単になっています.


まず簡単な計算から
2+3;
(%o36)5
(%o36)は計算した順番を表すものでここでは意味が無いから以下省略します

2+3は電卓でも出来ますから数式処理ソフトならではの例をいくつか
expand((x+y)^2);
 y^2+2*x*y+x^2

因数分解も
factor( y^2+2*x*y+x^2);(%o1)
(y+x)^2

方程式を解かせましょう.
linsolve( [ x + 2*y = 7, 3*x + a*y = 15], [x,y]);
 [x=(7*a-30)/(a-6),y=-6/(a-6)]

三角関数の展開
trigreduce(sin(x)^2 );
 (1-cos(2*x))/2

高校で習う三角関数の公式だが,これはフーリェ級数にもなっている.
電気流に言うと1/2が直流成分でcos(2*x))/2が2倍波だ.二乗検波すると
この成分が出てくるしアンプ等で二次歪みがあっても出てくる.詳しくは

微分してみましょ
diff(sin(x),x);
cos(x)

積分は
integrate(sin(x),x);
-cos(x)


定積分も出来ます.
integrate(sin(t), t,0,%pi);
2

グラフを描かせてみましょう.お馴染みサインとコサインを.
wxplot2d([sin(x),cos(x)],[x,0,7]);

sincos


さらにグラフで遊んでみましょう.

オーボエは矩形波でその基本形はsin(x)+1/3*sin(3*x)+(1/5)*sin(5*x)‥
このグラフを描くと
wxplot2d([sin(x)+1/3*sin(3*x)+(1/5)*sin(5*x)], [x,0,7]);
oboe

一方フルートは三角波でcos(x)+1/9*cos(3*x)+(1/25)*cos(5*x)‥
wxplot2d([cos(x)+1/9*cos(3*x)+(1/25)*cos(5*x)], [x,0,7]);
flute

 実際の音を聴き比べると高調波の出方の違いが分って面白いです.

バイオリンはノコギリ波で
wxplot2d([sin(x)+1/2*sin(2*x)+(1/3)*sin(3*x)], [x,0,7]);
vio

グラフを見ても響きの豊かさを感じる(笑)

wxMaximaのHP(ダウンロード)
http://andrejv.github.io/wxmaxima/

音響物理学の思い出

Home:自分なりの工夫や発見ができるように いろいろまとめてINDEX