【发布时间】:2020-03-18 20:03:32
【问题描述】:
【问题讨论】:
-
你确定 A 是一个数字吗?
-
它引用了一个矩阵
-
你确定这不是逆矩阵吗?
-
那么您实际上是在问如何反转矩阵吗?
-
从照片中我们可以看出这是作业,你需要矩阵 A 的逆矩阵——看我的答案
【问题讨论】:
从截图可以看出这是作业。
A^(-1)
import numpy as np
A = np.array([[1,2,0], [2,4,-2], [0,-2,3]])
np.linalg.inv(A)
array([[-2. , 1.5 , 1. ],
[ 1.5 , -0.75, -0.5 ],
[ 1. , -0.5 , 0. ]])
【讨论】:
在 numpy 中,您不能将整数乘以负整数幂(阅读 this)。
在 python 中,** 操作符返回值没有任何错误。
In [6]: A = 20
In [7]: print(A ** -1)
0.05
你也可以使用pow(),
In [1]: A = 20
In [2]: pow(20, -1)
Out[2]: 0.05
【讨论】:
如果您使用矩阵,最好确保它们是 numpy.matrix 类型的实例,而不是更通用的 numpy.ndarray。
import numpy as np
M = np.matrix([[ ... ]])
要将现有的通用数组转换为矩阵,您还可以将其传递给np.asmatrix()。
一旦你有一个matrix 实例M,获得逆向的一种方法是M.I
为避免“不允许整数”问题,请确保矩阵的 dtype 是浮点数,而不是整数(在对 matrix() 或 asmatrix() 的调用中指定 dtype=float)
【讨论】:
numpy.ndarray 而not numpy.matrix 类型。见stackoverflow.com/q/53254738/270986。
将幂作为负值插入假设另一个变量并将其命名为“pow”并分配该负值。 现在将下面的代码放入您的代码中。
pow = -3
value = 5**pow
print(value)
执行代码,你会看到结果。 希望对您有所帮助...???
【讨论】: