Python:在MATLAB中添加一个数组

时间:2017-09-07 22:52:07

标签: python matlab

如何在MATLAB中初始化和追加数组

for i = 1:10
    myMat(i,:) = [1,2,3]
end

感谢。

3 个答案:

答案 0 :(得分:1)

如果你在没有任何库的情况下在Python中执行此操作,那么可以使用文字和列表推导来初始化数组,如此

myMat = [[1,2,3] for _ in range(10)]

如果你是从MATLAB来Python,我会建议查看库numpy,它表现出与特殊" numpy数组"的MatLab matricies非常相似的行为。在Numpy你可能会这样做

import numpy as np
myMat = np.empty((10,3))
myMat[:] = [1,2,3]

答案 1 :(得分:1)

这是一种方法:

In [18]: import numpy as np

In [19]: a = np.empty((10, 3))

In [20]: a[:] = np.array([1,2,3])

In [21]: a
Out[21]:
array([[ 1.,  2.,  3.],
       [ 1.,  2.,  3.],
       [ 1.,  2.,  3.],
       [ 1.,  2.,  3.],
       [ 1.,  2.,  3.],
       [ 1.,  2.,  3.],
       [ 1.,  2.,  3.],
       [ 1.,  2.,  3.],
       [ 1.,  2.,  3.],
       [ 1.,  2.,  3.]])

答案 2 :(得分:1)

如果你想要一个类似于MATLAB数组结构的对象,你应该研究numpy。使用numpy构建数组的方法有很多,但听起来您可能对joiningappending感兴趣。

但是,在问题中执行MATLAB代码的最严格方法是先构造数组,然后assign to it by slice

[[ 1.  2.  3.]
 [ 1.  2.  3.]
 [ 1.  2.  3.]
 [ 1.  2.  3.]
 [ 1.  2.  3.]
 [ 1.  2.  3.]
 [ 1.  2.  3.]
 [ 1.  2.  3.]
 [ 1.  2.  3.]
 [ 1.  2.  3.]]

这将输出

Visibility="Hidden"