您可能也想使用 numpy 来重塑数组。或者如果导入太多,您可以制作自己的重塑功能试试这个:
import sys, numpy
if __name__ == '__main__':
x = sys.argv[1::3]
y = numpy.reshape(x, (5,5))
print y
我还注意到该调用为 A 的每个元素添加一次字符串,因此您可以考虑使用mat2str(A),例如:
[str, err] = sprintf('/usr/local/python program.py "%s" ', mat2str(A));
我还将 %d 更改为 %s,因为无论如何您都将它作为字符串传递给 python。这个的输出是:
python program.py "[17 24 1 8 15;23 5 7 14 16;4 6 13 20 22;10 12 19 21 3;11 18 25 2 9]"
您也可以使用 numpy 从该字符串创建一个矩阵
>>> import sys
>>> import numpy
>>> print(numpy.matrix(sys.argv[1]))
matrix([[17, 24, 1, 8, 15],
[23, 5, 7, 14, 16],
[ 4, 6, 13, 20, 22],
[10, 12, 19, 21, 3],
[11, 18, 25, 2, 9]])