我正在尝试在 NumPy 中制作一个 6x6 矩阵:
import numpy as np
a = 0.01; c = 0.1; b = 1-c*a
A = np.matrix([1,0,0,a,0,0],[0,1,0,0,a,0],[0,0,1,0,0,a],[0,0,0,b,0,0],[0,0,0,0,b,0],[0,0,0,0,0,b])
它引发了一个错误:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: __new__() takes at most 4 arguments (7 given)
我在文档中进行了搜索,它没有提到 6x6 矩阵的限制,仅适用于非常大的矩阵(同上我在 Stack Exchange 上的 NumPy 矩阵上找到的问题。)
其他在线答案表明变量可以放入。
我可以尝试使用循环填充我的矩阵,但我知道这在计算上更昂贵。或者,编写额外的代码行来手动替换我想要切换的每个值(例如,从 1 或 0,标准矩阵函数之一)将是相当多的代码编写来制作我的矩阵......而且我有一个偷偷怀疑有更简单的方法。
1)有人可以解释这里的问题吗?和 2) 在 NumPy 中制作 6x6 矩阵(这是非标准的,因此填充了上面预定义的奇数值或变量)的快速且简单的方法是什么?
谢谢!