Mathematica入門
方程式を解く
Solve[x^2 - 3 x + 2 == 0, x]
出力
{{x -> 1}, {x -> 2}}
整数の範囲で方程式の解を求める
Solve[x^2 - 3 x + 2 == 0 && 0 <= x <= 2, x, Integers]
出力
{{x -> 1}, {x -> 2}}
連立方程式を解く
Solve[{x + y == 3, x - y == 1}, {x, y}]
出力
{{x -> 2, y -> 1}}
不等式を解く
Reduce[x^2 - 3 x + 2 > 0, x]
出力
x < 1 || x > 2
微分する
D[x^2, x]
出力
2 x
積分する
Integrate[x^2, x]
出力
x^3/3
極限を求める
Limit[1/x, x -> 0]
出力
Infinity
級数を求める
Sum[1/n^2, {n, 1, Infinity}]
出力
π^2/6
行列を作成する
m = {{1, 2}, {3, 4}}
行列の積を求める
m . m
出力
{{7, 10}, {15, 22}}
逆行列を求める
Inverse[m]
出力
{{-2, 1}, {1.5, -0.5}}
固有値と固有ベクトルを求める
Eigensystem[m]
出力
{{5, 0}, {{1, 1}, {1, -1}}}
ベクトルの内積を求める
{1, 2} . {3, 4}
出力
11
ベクトルの外積を求める
Cross[{1, 2, 3}, {4, 5, 6}]
出力
{-3, 6, -3}
ベクトルの大きさを求める
Norm[{1, 2, 3}]
出力
√14
ベクトルの角度を求める
ArcCos[{1, 2} . {3, 4}/(Norm[{1, 2}] Norm[{3, 4}])]
出力
ArcCos[11/(√5 √25)]
ベクトルの射影を求める
{1, 2} . {3, 4}/Norm[{3, 4}] {3, 4}/Norm[{3, 4}]
出力
{11/5, 22/5}
ベクトルの回転を求める
RotationMatrix[π/2].{1, 0}
出力
{0, 1}
ベクトルの平行移動を求める
TranslationTransform[{1, 2}][{3, 4}]
出力
{4, 6}
ベクトルの拡大縮小を求める
ScalingTransform[{2, 3}][{1, 1}]
出力
{2, 3}
ベクトルの反転を求める
ReflectionTransform[{1, 1}][{1, 1}]
出力
{0, 0}
乱数を生成する
RandomReal[]
出力
0.123456
乱数を生成する(整数)
RandomInteger[]
出力
123456
乱数を生成する(範囲指定)
RandomReal[{1, 10}]
出力
5.6789
乱数を生成する(整数、範囲指定)
RandomInteger[{1, 10}]
出力
5
乱数を生成する(分布指定)
RandomVariate[NormalDistribution[0, 1]]
出力
0.123456
乱数を生成する(分布指定、個数指定)
RandomVariate[NormalDistribution[0, 1], 10]
出力
{0.123456, 0.234567, ..., 0.987654}
乱数を生成する(分布指定、個数指定、シード指定)
SeedRandom[12345]
RandomVariate[NormalDistribution[0, 1], 10]
出力
{0.123456, 0.234567, ..., 0.987654}
配列の要素に関数を適用する
Map[Sqrt, {1, 4, 9}]
Sqrt /@ {1, 4, 9}
Map[#^(1/2)&, {1, 4, 9}]
出力
{1, 2, 3}
ラムダ式を使って関数を定義する
f = Function[x, x^2]
f[3]
出力
9
関数を合成する
f = Function[x, x^2]
g = Function[x, x + 1]
h = Function[x, f[g[x]]]
h[3]
出力
16
直前の計算結果を参照する
% + 1
出力
17
純関数
(#+3)&[5]
出力
8
配列の抽出
Select[{1, 2, 3, 4, 5}, EvenQ]
Select[{1, 2, 3, 4, 5}, Mod[#,2]==0&]
出力
{2, 4}