#topicpath ** 力学とMaxima [#r3c358ce] *** Maxima とは [#l99e8915] 大変便利な数式処理ソフトです。 -- 参考サイト --- [[Maxima 普及委員会>http://www.cymric.jp/maxima/top.html]] *** 導入方法 [#tac52e52] -- Windows~ --- 参照URL~ http://www.cymric.jp/maxima/maxima-winxp.html ~ この解説にしたがう。ただし、ダウンロードページが分かりにくい。~ http://sourceforge.net/projects/maxima/files/Maxima-Windows/ ~ から、最新( 2012-04-11 (水) 18:57:40 時点では、5.26.0 )のバージョンを選んで ~ http://sourceforge.net/projects/maxima/files/Maxima-Windows/5.26.0-Windows/ ~ からダウンロード。 // -- Windows + VMware + Linux~ // 講義と同じような環境 // --- [[導入方法の解説>../力学2009S/Maxima/導入]](情報が古いです。) --- Windows7への導入例(ビデオ)~ | ダウンロードまで | インストール | 最初の起動 | | [[http://robo.mydns.jp/Lecture/VIDEO/Mechanics/MaximaDownload.mp4_thumbnail.jpg>http://robo.mydns.jp/Lecture/VIDEO/Mechanics/MaximaDownload.mp4]] | [[http://robo.mydns.jp/Lecture/VIDEO/Mechanics/MaximaInstall.mp4_thumbnail.jpg>http://robo.mydns.jp/Lecture/VIDEO/Mechanics/MaximaInstall.mp4]] | [[http://robo.mydns.jp/Lecture/VIDEO/Mechanics/MaximaInitial.mp4_thumbnail.jpg>http://robo.mydns.jp/Lecture/VIDEO/Mechanics/MaximaInitial.mp4]] | //| &ref([[PageTop:Lecture/VIDEO/Mechanics/MaximaDownload.mp4_thumbnail.jpg]]); | | | -- Mac~ 下記のページを参照 --- http://www.math.tsukuba.ac.jp/~hiroyasu/2008/maxima.html --- http://www.muskmelon.jp/macosx/index.html *** 使い方(外部サイト) [#u9455c11] //-- [[導入方法の解説>../力学2009S/Maxima/導入]] (情報が古いです。) -- [[Maxima 入門ノート(中川氏)>http://www.eonet.ne.jp/~kyo-ju/maxima.pdf]] -- [[Maxima による数式処理(弘前大学葛西先生)>http://phys.hirosaki-u.ac.jp/wiki.cgi/maxima]] //-- [[外積を計算するための工夫>../力学2009S/Maxima/外積]] -- [[Maxima でお絵描き(横田博史氏)>http://www.bekkoame.ne.jp/~ponpoko/Math/books/GNUPLOT.pdf]] *** 講義での利用例 [#fe33372b] ※ 講義では wxMaxima を利用します。 - 基本的な技 -- 数式入力後、Shift キーを押しながら Enter キーを押すと数式処理される。 -- % は前回の計算結果を意味する。 -- %pi は円周率を意味する。 -- 四則演算など --- 足し算・引き算 : + - --- かけ算・割り算 : * / --- べき乗 : ^ - 講義で利用した関数 -- 数学的な関数 --- sqrt()~ 平方根 --- sin(), cos(), tan()~ 引数はラジアンであることに注意。 sin(%pi/2) --- atan2(y,x)~ tan() の逆関数。引数が二つあるのは、y/x が無限大であったりする場合でも入力できるように。~ 結果がラジアン表示されることに注意。 atan2(sqrt(3),1) -- 数式処理の関数 --- float()~ 分数や $ \pi $ を小数で表す。 float(%) --- diff()~ 微分する diff(sin(x), x) --- eliminate()~ 数式からある変数を消去する。~ 複数の数式を [ ] で囲み、消去したい変数も [ ] で囲む。 eliminate( [x+y=3, x-y=2], [x]) *** 静止画・動画による利用例 [#p63751a0] -- 例1~ %, %pi, float(), sin(), atan2(), diff(), eliminate() などの例~ [[http://robo.mydns.jp/Lecture/VIDEO/Mechanics/Maxima_EX01.mp4_thumbnail.jpg>http://robo.mydns.jp/Lecture/VIDEO/Mechanics/Maxima_EX01.mp4]]~ -- 例2~ 等加速度運動の公式を求める例~ [[http://robo.mydns.jp/Lecture/VIDEO/Mechanics/Maxima_EX02.mp4_thumbnail.jpg>http://robo.mydns.jp/Lecture/VIDEO/Mechanics/Maxima_EX02.mp4]] -- 例3~ 2次元の運動の例~ &ref(http://robo.mydns.jp/Lecture/PHOTO/Mechanics/Maxima_2D.png,,30%); -- 例4~ 速さに比例した抵抗力(微分方程式の解析解) --- 速度 $ v $ を $ t $ の関数として、微分方程式 $ m\frac{dv}{dt} = - mg - bv $ を解く。 ode2( m * 'diff(v,t) = - m * g - b * v, v, t); --- パラメタに数値を入れてグラフにする。 g : 9.8; m : 0.1; b : 0.01; %c: g*m/k; plot2d( rhs(%o1), [t, 0, 10]); パラメタ g, m , b, %c に数値を入れて t が 0 から 10 の間についてグラフに描く。 -- 例5~ 速さに比例した抵抗力(微分方程式の数値計算) m : 0.1; g : 9.8; b : 0.01; data : rk( -g -k/m*v, v, 0, [t, 0, 10, 0.1]); plot2d( [discrete, data] ); remvalue(m, g, b, %c); ~ -- 例6~ 速さの2乗に比例した抵抗力(微分方程式の解析解) --- 速度 $ v $ を $ t $ の関数として、微分方程式 $ m\frac{dv}{dt} = - mg + kv $ を解く。 ode2( m * 'diff(v,t) = -m*g + k*v^2, v, t); solve(%, v); ratsubst(-1, exp(2*%c*sqrt(g*k*m)/m), %); m : 0.1; g : 9.8; k : 0.01; plot2d( rhs( %o999999[1]), [t, 0, 10]); ※ %o999999 のところには、実際に微分方程式を解いて solve で得られた答えを指定する。