В простейшем случае это разделитель row
:
>> [1,2;3,4] # octave
ans =
1 2
3 4
Подкласс np.matrix
копирует его со строковым синтаксисом:
In [1005]: np.matrix('1,2;3,4')
Out[1005]:
matrix([[1, 2],
[3, 4]])
Более обычный numpy
ввод :
In [1006]: np.array([[1,2],[3,4]])
Out[1006]:
array([[1, 2],
[3, 4]])
===
В MATLAB матрицы изначально ориентированы на столбцы 2d:
>> sumint=[]
sumint = [](0x0)
>> sumint=[sumint; 12]
sumint = 12
>> sumint=[sumint; 12]
sumint =
12
12
>> sumint=[sumint; 12]
sumint =
12
12
12
>> size(sumint)
ans =
3 1
Таким образом, повторяющийся x = [x; y]
просто объединяет новое новое значение - в первом измерении. Используя ,
вместо этого, объединяет по горизонтали:
>> sumint=[]
sumint = [](0x0)
>> sumint=[sumint, 12]
sumint = 12
>> sumint=[sumint, 12]
sumint =
12 12
>> size(sumint)
ans =
1 2
python эквивалентен добавлению к списку:
In [1007]: alist = []
In [1008]: alist.append(12)
In [1009]: alist.append(12)
In [1010]: alist.append(12)
In [1011]: alist
Out[1011]: [12, 12, 12]
Вы можете делать повторные объединения с массивами numpy
, но это неэффективно и вообще обескуражен. Это нормально в MATLAB просто потому, что он выполняет довольно много JIT-компиляции. В старых MATLABs это было бы неодобрительно.