バックナンバーはこちら。
https://www.simulationroom999.com/blog/compare-matlabpythonscilabjulia-backnumber/
はじめに
前回から、各ツール、言語による行列関連の基本的な使い方についてやり始めたところ。
まずは以下をそれぞれで試してみる。
- 単純なスカラー計算。
- ベクトルの定義。
- 等差数列の作成。
- 行列の定義。
MATLABに関しては前回実施したので、
今回はPython(Numpy)とScilab。
登場人物
博識フクロウのフクさん
イラストACにて公開の「kino_k」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=iKciwKA9&area=1
エンジニア歴8年の太郎くん
イラストACにて公開の「しのみ」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=uCKphAW2&area=1
Python(Numpy)の基本的な使い方
太郎くん
前回はMATLABだったから、
同じようなことをPython(Numpy)でやらせればOKだね。
フクさん
ざっと流すとこんな感じだな。
# 単純計算
>>> a=1
>>> b=2
>>> c=a+b
>>> c
3
# ベクトル
>>> import numpy as np
>>> x = np.array([1,2,3])
>>> x
array([1, 2, 3])
# 等差数列
>>> np.linspace(0, 10, 5)
array([ 0. , 2.5, 5. , 7.5, 10. ])
# 行列
>>> A=np.array([[1,2,3], [4,5,6],[7,8,9]])
>>> A
array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
太郎くん
まぁMATLABとクセが違うけども、
Numpyも手馴れてる方だし、あんまり問題なさそうだな。
Scilabの基本的な使い方
フクさん
この勢いでScilabもやってしまおう。
// 単純計算
-->a=1;
-->b=2;
-->c=a+b;
-->c
c =
3.
-->
// ベクトル
-->x=[1;2;3]
x =
1.
2.
3.
// 等差数列
-->linspace(0,10,5)
ans =
0. 2.5 5. 7.5 10.
// 行列
-->A=[1 2 3; 4 5 6; 7 8 9]
A =
1. 2. 3.
4. 5. 6.
7. 8. 9.
太郎くん
Scilabの方はMATLABと一緒かー。
フクさん
そうだね。
違いとしては、コメントが「//」ってところか。
ここも合わせてくれれば完全にコピペで行けるんだが・・・。
太郎くん
まぁその程度だったら一気に置換でもいいんじゃん?
フクさん
そうそう。
いつもそんな感じでやってる。
太郎くん
でも、まぁ確かにMATLABが手元に無い場合に触ってみるという意味では
丁度良いツールな気はするねー。
まとめ
フクさん
まとめだよ。
- Python(Numpy)とScilabの基本的な使い方。
- Python(Numpy)は以前から使っている物なので手馴れたもん。
- ScilabはMATLABと同一の記載方法でいける。
- ただし、コメントアウトが「%」じゃなくて「//」
- ここも一緒だと楽だったが・・・。
- ただし、コメントアウトが「%」じゃなくて「//」
バックナンバーはこちら。
コメント