#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])
--- ode2( 微分方程式, 解きたい変数, 独立変数)~
  微分方程式を解析的に解く。~
    注1) 微分を表す diff の前にアポストロフィ ' をつけるのは、この微分を実行しないで式として渡すことを意味している。~
      (実行すると v は定数と見なされてゼロになってしまう。)~
    注2)微分法定式を解く際、パラメタの正負によって解が変わることがあるので、Maxima から質問されることがある。~
      positive; とか negative; とか zero とか適切に答える。~
    注3)時々、解は 解きたい変数=…という形ではなく表示される。~
      solve() を使って表示しなおす。~
~
*** 静止画・動画による利用例 [#p63751a0]
-- 例1~
%, %pi, float(), sin(), atan2(), diff(), eliminate() などの例~
* 力学とMaxima [#r3c358ce]
[[力学>../]]での[[Maxima>../../Maxima]]の利用について整理します。
** Maxima の使い方 [#fe33372b]
  ※ 講義では wxMaxima を利用します。~
  ※ [[Maximaのページ>../../Maxima]]の講義での[[使い方のまとめ>http://robo.mydns.jp/Lecture/PDF/Mechanics/Maxima.pdf]]を参照してください。~
// - 基本的な技
// -- 数式入力後、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])
// --- ode2( 微分方程式, 解きたい変数, 独立変数)~
//   微分方程式を解析的に解く。~
//     注1) 微分を表す diff の前にアポストロフィ ' をつけるのは、この微分を実行しないで式として渡すことを意味している。~
//       (実行すると v は定数と見なされてゼロになってしまう。)~
//     注2)微分法定式を解く際、パラメタの正負によって解が変わることがあるので、Maxima から質問されることがある。~
//       positive; とか negative; とか zero とか適切に答える。~
//     注3)時々、解は 解きたい変数=…という形ではなく表示される。~
//       solve() を使って表示しなおす。~
// ~
** 静止画・動画による利用例 [#p63751a0]
*** 例1: 基本的な関数 [#sd92b10b]
-- %, %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~
等加速度運動の公式を求める例~
*** 例2: 等加速度運動の公式 [#m61b166b]
-- 等加速度運動の公式を求める~
[[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~
速さに比例した抵抗力(微分方程式の解析解)
*** 例3: 投射の問題 [#q479be98]
-- 投射問題を解く~
&ref(http://robo.mydns.jp/Lecture/PHOTO/Mechanics/Maxima_2D.png,,30%);~
-- 軌道の式を求める(WMV形式)~
[[&ref(http://robo.mydns.jp/Lecture/VIDEO/Mechanics/Maxima_2Dpath.wmv_thumbnail.jpg);>http://robo.mydns.jp/Lecture/VIDEO/Mechanics/Maxima_2Dpath.wmv]]~
-- 水平到達距離を求める(WMV形式)~
[[&ref(http://robo.mydns.jp/Lecture/VIDEO/Mechanics/Maxima_2Dpeek.wmv_thumbnail.jpg);>http://robo.mydns.jp/Lecture/VIDEO/Mechanics/Maxima_2Dpeek.wmv]]~

*** 例4: 速さに比例した抵抗力(微分方程式の解析解) [#kd89ca97]
--- 速度 $ 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~
速さに比例した抵抗力(微分方程式の数値計算)
*** 例5: 速さに比例した抵抗力(微分方程式の数値計算) [#mf8b4eb2]
--- 速度 $ v $ を $ t $ の関数として、微分方程式 $ m\frac{dv}{dt} = - mg - bv $ を数値的に解く。
 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乗に比例した抵抗力(微分方程式の解析解)
*** 例6: 速さの2乗に比例した抵抗力(微分方程式の解析解) [#kda46c07]
--- 速度 $ v $ を $ t $ の関数として、微分方程式 $ m\frac{dv}{dt} = - mg + kv^2 $ を数値的に解く。
 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 で得られた答えを指定する。

** 教科書章末問題 [#v8845f67]
--- 教科書~
&amazon(4873610745,image); &amazon(4873610745,title); &amazon(4873610753,image); &amazon(4873610753,title);~
の例題や章末問題を、(一部) Maxima を使って解く。~
※ 間違っているかもしれないので気をつけて使ってください。間違っていたら教えて下さい。~
| 章 | 1 | 2|3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 例題/文中の計算(Maxima)| | [[2章・3章>../../力学2009S/Maxima/例題]] | | | | | | | | [[10章>../../力学2009S/Maxima/慣性モーメント]]&ref(http://robo.mydns.jp/Lecture/PDF/Mechanics2009/Examples_In_Text/EXT10.11.pdf,,例題11); | | | | |
|章末問題(Maxima)| | [[02章>../../力学2009S/Maxima/章末02]] | [[03章>../../力学2009S/Maxima/章末03]] | [[04章>../../力学2009S/Maxima/章末04]] | [[05章>../../力学2009S/Maxima/章末05]] | [[06章>../../力学2009S/Maxima/章末06]] | [[07章>../../力学2009S/Maxima/章末07]] | [[08章>../../力学2009S/Maxima/章末08]] | [[09章>../../力学2009S/Maxima/章末09]] | [[10章>../../力学2009S/Maxima/章末10]] | [[11章>../../力学2009S/Maxima/章末11]] | | | |


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