C Matlab python での 配列 比較
1次元配列の書き方
C言語
int i; int x[11]={0}; for(i=0; i<=10; i++;){ x[i] = i; }
Matlab
x = zeros(10) for i = 1: 11 x(i) = i - 1 end
python (list)
x = [0]*11 for i in range(11): x[i] = i
python (numpy)
import numpy as np x = np.zeros(11) for i in range(11): x[i] = i
xは < class 'list' > 型ではなく、 < class 'numpy.ndarray' > 型になる。
いずれも、xに 0 から 10 までの整数を配列として代入するプログラムである。
動作を高速化するため、先に配列分のメモリを確保する書き方になっている。
Matlabやpythonでは、動作が遅くなるが、順次メモリを確保させる書き方ができる。
xの要素が一つ増えるたびにメモリ確保が行われ、動作が遅くなるので注意。
Matlab
for i = 1: 11 x(i) = i - 1 end
python (list)
x = [] for i in range(11): x.append(i)