このページについて |
概要:このページでは、数学ソフトMathematicaの基本的な使い方を解説します。
親ページ:このページの親ページはMathematicaです。
目次 |
普通の数学に登場する計算は全部出来る.簡単な電卓としても使えるし,微分方程式だって解ける.100個未知数があって100本方程式があるとき,Mathematicaに解かせたほうが絶対はやい.経済学との絡みで言えば,効用関数のグラフを描いたり,無差別曲線を描いたりすると視覚的な手助けになるので,経済理論の理解が深まる.
以下の本を読みながら実際にMathematicaをいじってみれば、一通り使いこなせるようになります。
ネット上にあるメモとして,以下があります.
In[1]:= 3+2
などと押す.[SHIFT]を押しながら,ENTERを押すと,
Out[1]= 5
などと帰ってくる(以下,In[]とかOut[]とかは省略する).四則演算の記号は,
掛け算 | * |
割り算 | / |
足し算 | + |
引き算 | - |
べき乗 | ^ |
を使う. aに3を代入する場合は,
a = 3
とやる.これは,a=3(aイコール3)という等式を意味しているのではなく,「aに3を代入せよ」ということを意味する.
a*4
とかやれば,
12
とか返ってくる.aの中の3を消去したい場合
Clear[a]
とかやればよい.ここで,Clear[]はMathematicaに内臓されている組込関数である.組込関数は,すべて大文字で始まり,関数の対象を
[]
でくくる.このルールは,すべての組込関数で同じ.尚,オブジェクト指向に
a // Clear
とかやっても,まったく同じである.
変数に代入する方法としては,以下のような方法もある.
5 a + 5 /. a->10
こうやれば,
55
とか返ってくる.a=3とやると,Clear[]で消去するまで,aの中に3が入っている(aがグローバル変数ということ)が,この方法だとこの行でのみaに10が入っている(aはローカル変数ということ).複数の変数を同時に代入するときは,
2 x + 3 y + 4 z /. {x->10, y->20, z->30}
とやればよい.
ここで,掛け算は,*という記号を使わずに,半角スペースを開ければよい点に注意.
他に,関数をいくつか紹介しておこう.例えば,
(x+1)^5 // Expand
とやれば,展開してくれる.展開内容を,再び因数分解したい場合は,
Factor[]
をやればよい.
複雑に見える数式を,もっとも簡潔な形に,すっきりとまとめてくれる関数は,
Simplify[]
である.
その他,例えば円周率のπは,
Pi
である.πを5桁で表現したい場合は,
N[Pi,5]
とやればよい.
また,
Out[1] + 4
などとやれば,
9
と返ってくる.これは,一番最初の計算式3+2の結果の5がOut[1]の中に入っているためである.
%1
は,Out[1]と同じ内容を返す.
直前のOutputは,
%
の中に入っている.2つ前のOutputは
%%
の中に入っている.3つ前のOutputは
%%%
の中に入っている.
組込関数ではなく,自分オリジナルの関数を定義することも出来る.例えば,xにある値を代入したとき,その10乗を計算してくれる関数を定義してみよう.
jujo[x_]:=x^10
これだけで,
jujo[3]
などどやれば,
59049
と瞬時に,3^10を計算してくれる.すごい.定義する関数名は,既存の組込関数とかぶらないように注意すべきである.既存の組込関数はすべて大文字から始まることに注意して,自分で作るときには,小文字から始まるようにすれば,まずかぶらない.
x_
とやるのは,xという変数そのものみ意味があるのではなく,そこに何かを代入するのだ,ということを明確にするためである.
多変数の関数も当然,定義できる.例えば,
aho[x_, y_, z_] := x^2 y^3 z^4
と定義して,
aho[1, 2, 4]
とやれば,
2048
と即座に返ってくる.すごい.
定義した関数を完全に消去するには,
Remove[aho]
とかやる.グローバル変数とローカル変数が混在すると良くないので,こまめにMathematicaを新しく起動することを推奨する.
なお,
g[x_] := 5 x + 1
などと関数を定義したとき,
g[x]
とやれば
1 + 5 x
を返すが,
g
だけでは,定義された関数だと認識してくれないので注意すべし.
g[a]
とやれば,
1 + 5 a
と返ってくることから,g[]の,[]の中に何を代入するかが大事である.
g[a] /. a -> x
とかやれば,
1 + 5 x
とか返ってくる.
合成関数も扱える.
f[x_] := x^3 g[x_] := 5 x + 1
と定義しておこう.
f[g[x]]
とやれば,
(1 + 5 x)^3
を返す.
g[f[x]]
とやれば,
(1 + 5 x^3)
を返す.
x==y xとyは等しい x!=y xとyは等しくない x>y x>y x>=y x≧y x<y x≦y A && B 条件Aかつ条件B A || B 条件Aまたは条件B !A 条件Aではない Xor[A,B] 排他的な「または」(AまたはBの,どちらか一方のみ)
以上の論理式を使って,条件付き関数を考えることも出来る.例えば,
hantei[x_] := -1 /; x < 0; hantei[x_] := 0 /; x == 0; hantei[x_] := 1 /; x > 0;
と定義すれば,Indicator関数のようなものが定義できる.つまり,
hantei[0]
とやれば,
0
と返ってくる.
hantei[11]
とかやれば,
1
と返ってくる.
hantei[-10]
とかやれば
-1
とか返ってくる.