アクセラと+αな生活
アクセラとα350と共に過ごす気まぐれ日記です。
Firefox ブラウザ無料ダウンロード
2017年05月
≪04月  1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30  31    06月≫
スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
Ubuntu 10.04 で wxMaxima を使ってみる(その1)。の続きです。



【因数分解】
「wxMaxima」は代数式の計算、因数分解もできてしまいます。。。

代数式の計算(式の簡略)は「expand()、ratsimp()」、因数分解は「factor()」を使います。
(式の展開は「expand()」、式の簡略は「ratsimp()」)

これさえあれば、中学レベルの数学の宿題は解いてしまうかな??
なんとも、恐ろしい。。。

wxmaxima_20100523_002.jpg

上図は「(x + 1)(x + 2)(x + 3)」の因数分解、24の素因数分解の例です。


【変数と関数の定義】
変数は「:」(コロン)、関数は「:=」(コロン、イコール)で定義します。
wxmaxima_20100523_004.jpg



【グラフ化】
2D のグラフは「plot2d」、3D のグラフは「plot3d」を使います。
簡単なところで、サインカーブをグラフ化してみましょう。


(%i1) plot2d(sin(x),[x,-5,5]);

wxmaxima_20100523_005.jpg


(%i2) plot3d(cos(x),[x,-5,5],[y,-5,5]);

wxmaxima_20100523_006.jpg

ちなみに、3D のグラフは、マウスでドラッグすることで、見る角度を変更できます。


【方程式】
「solve()」を使えば、方程式も解いてくれます。

「3x^3 + 2x^2 + x + 1」の例
wxmaxima_20100523_007.jpg
適当に数式を作ったので、意味が分からない。。。><;
実数値に変換(float())すれば、近似値で、もう少し分かりやすくなるかも。。。


「y = 2x + 1」を「x」で解いた場合(「%」は1つ前の数式の意味)
wxmaxima_20100523_008.jpg


連立方程式も解いてくれます。
例題として、
 1個50円のみかんと、1個70円のりんごをあわせて10個買うと、660円になりました。
 みかんとりんごの個数はそれぞれいくつでしょうか?

を使います。
(なつかしのつるかめ算。。。)

算数、数学の話で、ちょっと面倒な消費税は無視したいので、消費税はみかん、りんごに内税でかかっているとします。

みかんの個数を「x」、りんごの個数を「y」とすると
 x + y = 10 (みかんとりんごをあわせて10個買う)
 50x + 70y = 660(1個50円のみかんと1個70円のりんごをあわせて660円)
というような数式になります。

この連立方程式を「wxMaxima」さんに解いてもらいましょう。
こちらも、「solve()」を使います。

「solve()」は複数の数式、変数に対応してますので、数式、変数を複数用いる場合は「[]」(かっこ)でくくります。

ですので、
solve([方程式1,方程式2, ...],[変数1,変数2, ...])
というような入力方式になります。

wxmaxima_20100523_012.jpg
「wxMaxima」さんによれば、みかんが2個でりんごが8個らしいですね。


【ヘルプ】
「? <関数>」で調べたい関数などのオンラインヘルプを表示してくれます。
wxmaxima_20100523_009.jpg


【emacs での使用】
「wxMaxima」は同時にインストールされた「emacs」でも使用できます。
(「emacs」は好きじゃないので、使うのは久しぶりだったりします。。。)

「emacs」で使用する場合、「$ emacs -e imaxima」を実行します。
wxmaxima_20100523_013.jpg


【CUI 環境での利用】
計算だけならば、CUI 環境でも利用できます。
「$ maxima」で、XWindow が利用できない環境でも、動いてくれます。

終了させたいときは、「quit();」を実効すれば、「maxima」のプロンプトから抜けることができます。


$ maxima

Maxima 5.20.1 http://maxima.sourceforge.net
using Lisp GNU Common Lisp (GCL) GCL 2.6.7 (a.k.a. GCL)
Distributed under the GNU Public License. See the file COPYING.
Dedicated to the memory of William Schelter.
The function bug_report() provides bug reporting information.
(%i1) 5+4;
(%o1) 9
(%i2) quit();

$





いろいろ使ってみましたが、難しいですね。
微積分などもできるようですが、私は微積分が苦手でして。。。><;

本格的な数学知識が必要なツールですね。


ちなみに、こんなことも計算できます。

<相対論での質量増加>
光の速さを「c」とし、速度が 0 の時の質量「m」の物体が、速度「v」で運動している場合、「func_x(m,v)」として定義します。
(面倒なので、ニュートン力学の運動方程式は無視してます。。。)

wxmaxima_20100523_011.jpg


光速の 90%の時の実効質量は約 2.3 倍、99%の時は約 7.1 倍。。。というように光速に近づけば、実効質量が爆発的に増加するということが分かります。
。。。昔、そんてことを計算するプログラムを C か何かで作っていたような気が。。。><;

もっと分かりやすくするため、グラフ化してもいいでしょうね。
数式はできてますので、グラフ化は「plot2d」を使えばいいだけですね。


【参考】
特殊相対性理論(wiki):http://ja.wikipedia.org/wiki/%E7%89%B9%E6%AE%8A%E7%9B%B8%E5%AF%BE%E6%80%A7%E7%90%86%E8%AB%96


コメント
この記事へのコメント
URL :
コメント :
パスワード :
管理者にだけ表示を許可する
 
トラックバック
この記事のトラックバックURL
Template designed by アクセラと+αな生活

Powered by .
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。