1: 1。
我想使用numpy函数用Python编写上面的等式:
b = b - INV(J'*J) * J' * r(b)
J是矩阵,J‘是J,X和r数组的矩阵转置
b = b - linalg.inv((zip(*J)).dot(J)).dot(zip(*J)).dot(r)
这不管用..。有什么建议吗?
编辑
错误:
AttributeError: 'zip' object has no attribute 'dot'
,..。我使用Python 3.2
我有一个numpy矩阵,我想用函数的结果填充它。此函数返回整数值的映射,该映射将映射到矩阵的一行中。
函数返回的值如下:
{1:6, 2:3, 3:2, 4:2, 5:1}
然后,我编写了以下代码来将值填充到矩阵中:
results = np.empty((10, 5), dtype=int)
for i in range(10):
result = method()
for j in range(5):
results[i, j] = result[j]
我想知道是否有一种更合适/更有效的方法来处理python?
我将在Python上添加矩阵(未完成)。但它显示出一个错误。
m, n = (int(i) for i in raw_input().split())
a = [[0 for i in range(m)] for j in range(n)]
b = [[0 for i in range(m)] for j in range(n)]
c = []
total = []
for i in range(m):
x = raw_input()
for j in range(n):
value = [int(i) for i in x.split()]
c[i
我正在尝试将一段代码从matlab转换到python,涉及到(500x500) 2D矩阵的梯度函数。“t”和“s”是具有某些值的2D矩阵。“t”和“S”分别是具有零和np.zeros的2D矩阵。行,col是相同的值整数,在我的例子中是127。
for i=1:row
for j=2:col
T(i,j)=t(i,j-1)+gradient(t(i,j-1));
S(i,j)=s(i,j-1)+gradient(s(i,j-1));
end
end
我生成的Python代码是:
for i in range(1, row):
for j i
我正在使用渐近(python3.6,渐近1.0)来帮助计算数学证明中的矩阵变换。
为了计算Schur互补,有必要对由符号矩阵组成的块矩阵进行切片。
直接以下列方式处理汇总表:
M[0:1,1]
不起作用了,我尝试了sympy.matrices.expressions.blockmatrix.blocks,不幸的是,块在寻址一系列块时混淆了矩阵的维数:
from sympy import *
n = Symbol('n')
Aj = MatrixSymbol('Aj', n,n)
M = BlockMatrix([[Aj,
我正在处理一个矩阵,让我们称之为X,在python中。
我知道如何使用X.shape获取矩阵的维数,但我特别感兴趣的是在for循环中使用矩阵的行数,并且我不知道如何在适合循环的数据类型中获得这个值。
例如,想象一下tihs的简单情况:
a = np.matrix([[1,2,3],[4,5,6]])
for i in 1:(number of rows of a)
print i
如何自动获得“a的行数”?