※ MATLAB、Python、Scilab、Julia比較ページはこちら。
https://www.simulationroom999.com/blog/comparison-of-matlab-python-scilab/
はじめに
MATLAB,Python,Scilab,Julia比較 その34【行列演算⑰】の書き直し
前提
以下の行列を使用。
\(A= \begin{bmatrix} 1 & 2 \\ 3 & 4 \end{bmatrix}\)
\(B= \begin{bmatrix} 5 & 6 \\ 7 & 8 \end{bmatrix}\)
足し算
> A+B
2×2 Matrix{Int64}:
6 8
10 12
引き算
> A-B
2×2 Matrix{Int64}:
-4 -4
-4 -4
掛け算(内積)
> A*B
2×2 Matrix{Int64}:
19 22
43 50
アダマール積
> A.*B
2×2 Matrix{Int64}:
5 12
21 32
左除算
# ¥’はバックスラッシュと同義
> A\B
2×2 Matrix{Float64}:
-3.0 -4.0
4.0 5.0
> inv(A)*B
2×2 Matrix{Float64}:
-3.0 -4.0
4.0 5.0
右除算
> A/B
2×2 Matrix{Float64}:
3.0 -2.0
2.0 -1.0
> A*inv(B)
2×2 Matrix{Float64}:
3.0 -2.0
2.0 -1.0
べき乗
内積ベースのべき乗とアダマール積ベースのべき乗がある。
> A^2
2×2 Matrix{Int64}:
7 10
15 22
アダマール積ベース
> A.^2
2×2 Matrix{Int64}:
1 4
9 16
転置
> A'
2×2 adjoint(::Matrix{Int64}) with eltype Int64:
1 3
2 4
反転
# 一次元目(縦方向)に対して反転
> reverse(A,dims=1)
2×2 Matrix{Int64}:
3 4
1 2
> A[end:-1:1,:]
2×2 Matrix{Int64}:
3 4
1 2
# ニ次元目(横方向)に対して反転
> reverse(A,dims=2)
2×2 Matrix{Int64}:
2 1
4 3
> A[:,end:-1:1]
2×2 Matrix{Int64}:
2 1
4 3
まとめ
- ほぼMATLABと一緒。
- 以下が異なる。
- 配列添え字のカッコが丸カッコじゃなくて角カッコな点。
- flipdimは使えなくて、代わりにreverseという関数を使用する点。
- 以前はflipdimは存在していたようだが、現在では無くなってる。
- 以下が異なる。
※ MATLAB、Python、Scilab、Julia比較ページはこちら。
コメント