我可以将lambda函数与numpy的eig函数一起使用吗
测试问题:
import numpy as np
class c1:
def __init__(self):
self.mat1 = lambda num1:np.array([[num1,2],[3,4]])
self.mat2 = np.array([[1,2],[3,4]])
self.eigVal, self.eigVec = lambda num1:np.linalg.eig(self.mat2+self.mat1(num1))
def func1(self):
print(self.mat1(10))
print(self.eigVal(10))
c1().func1()
错误为TypeError: cannot unpack non-iterable function object
多亏了@pietro。此comment中给出了解决方案
这是我的工作方案
该代码将获得每个矩阵的特征值和特征向量:
输出
需要注意的是,您必须
map
某个iterable
对象上的lambda
函数,然后将map
对象转换为iterable以使用它干杯
相关问题 更多 >
编程相关推荐