矩阵计算Python

时间:2014-10-17 05:09:39

标签: python numpy matrix-multiplication

我有一个函数,我在这里计算一个值:

a = a + pow(b - np.dot(A[i,:],B[:,j]), 2)    
final_Result= a + C * ((np.square(A)).sum() +(np.square(B)).sum() )
print final_Result
func.extend(final_Result)   
# C is a float value  

它显示结果为

      [[ 455.83301538]]
      >>> func
       [matrix([[ 455.83301538]])]

我可以从控制台(IPython)获得final.item(0)。但我无法在该计划中这样做。我在这做错了什么?如何从最终矩阵中获取值?

1 个答案:

答案 0 :(得分:1)

显然finalResult是1x1 matrix。如果您打印finalResult,则会得到" str"或者"很好"代表finalResult。矩阵的这种格式不包括文本matrix(和结束);它只是在方括号中显示数字。如果你在python提示符中输入finalResult,它会回复" repr" finalResult;这包括文字matrix(...)。您也可以使用内置函数repr()获取此格式。

例如(使用a代替finalResult),

>>> import numpy as np
>>> a = np.matrix([[1.25]])
>>> print(a)
[[1.25]]
>>> a
matrix([[1.25]])
>>> print(repr(a))
matrix([[1.25]])

您将finalResult放入列表func,这与此基本相同:

>>> [a]
[matrix([[1.25]])]

要从矩阵中获取值,可以使用常规数组索引:

>>> a[0,0]
1.25