このページについて

概要:このページでは、数学ソフトMathematicaの基本的な使い方を解説します。

親ページ:このページの親ページはMathematicaです。

目次

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

とか返ってくる.

Reference

参考書籍

リンク


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2013-10-27 (日) 17:39:49