mathematica の覚え書き

最終更新  2022.05.20


◆◆ Raspberry Pi ◆◆


起動

GUI版  $ mathematica
CUI版  $ wolfram

◆◆ 変数名 ◆◆


変数名にアンダースコアを使ってはいけない!
アンダースコアが付いた変数は展開されない。

◆◆ 命令の書き方 ◆◆


a = b * c;

のように式の末尾に ; をつけておくと、

Out[1] = 10

のように Out[1] の行を表示しない。

Enter は単なる改行
Shift + Enter で演算や定義を実行

命令をファイルに書いておいて一気に実行する方法
命令ファイルが a.m のとき

$ wolfram < a.m

起動中のとき

In[1]:= << a.m


◆◆ 普通の計算 ◆◆


値を計算

L  = 0.239 * 10^-3
Ca = 0.166 * 10^-6      C は予約語らしい。使えない

w  = 1 / Sqrt[L Ca]
f  = w / 2 / Pi

数式を計算

x = a * b
y = c * d
z = x * y




◆◆ 微分方程式を解く ◆◆


(注意!)

== を使うこと。
= を一度使って y[0] = 1 とやってしまうと、次に == を使ってもだめである。

DSolve[ y'[x] - x y[x] == x, y[x], x]

DSolve[ y''[x] + 3 y'[x] + 2 y[x] == Exp^(2 x ), y[x], x]

Simplify[%]    % は前の結果
Expand[%]

初期値を入れるときは

DSolve[ { y''[x] + 4 y[x] == 0, y'[0] == 1, y[0] == 0}, y[x], x]


◆◆ 積分 ◆◆


不定積分  Integrate[ Exp[x^2], x]
定積分    Integrate[ Exp[x],{x,0,Infinity}]

◆◆ 微分 ◆◆


D[ Log[3 x], x]

◆◆ 関数名 ◆◆


Cos, Sin, Exp


◆◆ 行列 ◆◆


m = { {1,2,3},{4,5,6},{7,8,9} }

Det[m]
Inverse[m]
Eigenvalues[m]
Eigenvectors[m]

行列の積  m2 = m.m

要素を取り出す  a = m2[[2,1]]

◆◆ 関数定義 ◆◆


定義    func[x_] := Exp[ -x^2]
確認    func[x]

定義    func2[x_] := D[func[x],x]
積分    Integrate[func2[x], {x,0,Infinity}]

クリア  Clear[func]


◆◆ 数値に変換 ◆◆


N[%,10]   10 は桁数

◆◆ 虚数単位 ◆◆


大文字の I

◆◆ 連立 1 次方程式 ◆◆


3 x + 4 y = a
4 x +   y = b

Solve[ { 3x + 4y , 4x + y} == {a,b},{x,y} ]

◆◆ 式の整理・展開など ◆◆


Wolfram のリファレンス

Expand[ ]   分子を展開し、各項を分母で割った形にまとめる
ExpandNumerator[  ]  分子だけ
ExpandDenominator[  ]  分母だけ
ExpandAll[  ]  分子分母を完全に展開する

Simplify[ ]
FullSimplify[ ]

Factor[ ]   因数分解に使うが、分数の中に分数があるのを解消するときにも使う
FactorTerms[poly, {x, y}]

Collect[poly, {x, y}]


◆◆ 変数の表示 ◆◆


プログラム中で変数を表示する方法はよくわからない。
プログラムの実行終了後、プロンプトから変数名を
打ち込む、あるいは Simplify[変数名] と打ち込むと、
変数の内容を表示する。