08 & 09
数学・数式を扱うためのツールとしてMathematicaを学び,またプログラミングによるシミュレ−ションを体験する.
簡単な使い方
Mathematicaは、数式計算、数値計算、グラフィックス、サウンドなどを同一環境において扱える数学の統合的なアプリケーションです。
左上のアイコンから「数式処理」「Mathematica」を選んで起動します。
アプリケーションが起動すると、真っ白なウインドウが表示されます。これは、「ノートブック」と呼ばれるもので、ここに式を書き込みます。たとえば、
1 + 2 |
In[1]:= 1 + 2 Out[1]:= 3 |
「In[1]:=」は入力された式、「Out[1]:=」はそれに対する答を表します。
角カッコの中の数字は、式が入力されるたびに1ずつ増えていきます。
一度計算した結果は、%という記号を用いて参照することができます。次のように入力してみましょう。
% - 4 |
In[2]:= % - 4 Out[2]:= -1 |
In[3]:= %1 / 3 Out[3]:= 1 |
計算の方法
基本的な演算の方法を示します。【】の中が演算子です。
In[4]:= 2 + 3 Out[4]:= 5 |
In[5]:= 5.3 - 3.4 Out[5]:= 1.9 |
In[6]:= 3 * 4 Out[6]:= 12 |
In[7]:= 10 / 2 Out[7]:= 5 |
In[8]:= 2 ^ 5 Out[8]:= 32 |
305 / 177 |
厳密値が入力された場合、Mathematicaでは数値でなく既約分数が返されます
。ここが電卓との大きな違いです。近似値を求めるには、小数で入力するか(小数は 近似値として扱われる)、あるいは以下で述べる組み込み関数
Nを用いて次のようにします。
N [ 305 / 177 ] |
In[1]:= N [ Pi, 20 ] Out[1]:= 3.1415926535897932385 |
In[2]:= N [ E, 3 ] Out[2]:= 2.71828 |
In[3]:= Sqrt[ 2.0 + 3.0 I ] Out[3]:= 1.67415 + 0.895977 I |
平方根【Sqrt[x]】
指数【Exp[x]】
自然対数【Log[x]】
bを底とする対数【Log[b,x]】
三角関数【Sin[x] Cos[x] Tan[x]】(xの単位はラジアン)
複素数zの実部【Re[z]】
複素数zの虚部【Im[z]】
式の部分分数への分解【Apart[式]】(例:Apart[1/(x^3 -1)])
式の展開【Expand[式]】(例:Expand[(x+1)(x+2)(x+3)])
代数方程式の解【Solve[f,x]】(例:Solve[x^2 -2x +1 == 0 ,x])
fのx→aでの極限値【Limit[f,x->a]】
fをxで微分【D[f,x]】(例:D[x^n, x])
fのxによる不定積分【Integrate[f,x]】結果では、積分定数は省略される。
fのx=aからbまでの定積分【Integrate[f,{x,a,b}]】
fのx=aの周りでのn次の項までのテイラー展開【Series[f,{x,a,n}]】
テイラー展開の剰余項(O[x]^n)を取り除くには【Normal[x]】を用いる。
グラフを描く
data = {1.2, 3.1, 4.5, 6.8, 7.0}
ListPlot[data] |
プロットを線で結ぶ場合は、
ListPlot[data, PlotJoined -> True] |
Plot[{x^2,x+1},{x,-10,10}] |
データの回帰分析
listと定義されたリストを2次曲線で近似するときは、Fit[list,{1,x,x^2},x]と入力します。求められた式をプロットすれば回帰曲線か得られます。回帰曲線とリストのプロットを重ねれば、データの傾向がよく分かります。
http://webserver/~自分のログイン名
自分の課題がきちんと表示されることを確認しておくこと。
Mathematicaでは、HTML化について便利な方法があります。
「ファイル」→「特別な形式で保存」→「HTML」で、Mathematicaの画面を忠実に再現したHTMLファイルを作ってくれます。
ただし、保存する際にファイルをpublic_htmlディレクトリの下に置き、ファイル名を「〜.htm」または「〜.html」にして保存しましょう。
この方法では、Mathematicaで行ったことをホームページ上で見ることができるようにできますが、作業の内容までは保存してくれません。「特別な形式で保存」だけでなく、「保存」や「名前をつけて保存」で、作業内容も残しておくようにしましょう。
#これはMathematicaだけでなく他のソフトについても言えることです。