如何在MATLAB中初始化和追加数组
for i = 1:10
myMat(i,:) = [1,2,3]
end
感谢。
答案 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构建数组的方法有很多,但听起来您可能对joining或appending感兴趣。
但是,在问题中执行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"