我熟悉使用NumPy在Python中创建MxN矩阵,例如:

In [1]: import numpy as np

In [2]: np.zeros((10,5))
Out[2]:
array([[ 0.,  0.,  0.,  0.,  0.],
       [ 0.,  0.,  0.,  0.,  0.],
       [ 0.,  0.,  0.,  0.,  0.],
       [ 0.,  0.,  0.,  0.,  0.],
       [ 0.,  0.,  0.,  0.,  0.],
       [ 0.,  0.,  0.,  0.,  0.],
       [ 0.,  0.,  0.,  0.,  0.],
       [ 0.,  0.,  0.,  0.,  0.],
       [ 0.,  0.,  0.,  0.,  0.],
       [ 0.,  0.,  0.,  0.,  0.]])


在Swift中,SIMD可以创建较小的矩阵并对其执行运算(请参见下文),但似乎仅限于最大尺寸为4x4矩阵。

import simd

let mat = float2x2([[1,2],[3,4]])
mat[0]*9


有没有办法在Swift中定义MxN维的任意大小的矩阵并对该矩阵执行操作?

最佳答案

如果用“矩阵”表示“数组数组”,则可以使用以下语法:

var matrix = Array(count: 10, repeatedValue: Array(count: 5, repeatedValue: 0.0))


这将创建一个10 x 5的零矩阵。

关于arrays - Swift中的任意矩阵或数组大小,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38277921/

10-12 01:22
查看更多