#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 で得られた答えを指定する。

トップ   新規 検索 最終更新   ヘルプ   最終更新のRSS