【发布时间】:2020-02-11 17:05:30
【问题描述】:
我正在尝试编写一个循环来执行下面“c”矩阵中的公式逻辑以获得我的结果。我有“a”是原始数据矩阵,它是定量的,“b”代表公式c中的系数。矩阵b具有递增的规律,例如
- 1
- 12
- 123
- 1234
- 12345
a= [np.array([1,2,3]),np.array([4,5,6]),np.array([1,2,7]),np.array([4,2,7])]
b = [np.array([1]),np.array([1,2]),np.array([1,2,3])]
c = [
a[0],
a[1]-b[0][0]*a[0],
a[2]-b[1][0]*a[0]-b[1][1]*a[1],
a[3]-b[2][0]*a[0]-b[2][1]*a[1]-b[2][2]*a[2]
]
这是一个c矩阵的输出(我需要得到的最终结果,但我想写一个循环来得到这个)
[array([1, 2, 3]),
array([3, 3, 3]),
array([ -8, -10, -8]),
array([ -8, -16, -29])]
此外,我尝试编写循环以获得如下结果:
for t in range(len(b)):
for i in range(1,len(a)+1):
a[i]-= b[t][i-1]*a[i-1]
但它给了我这个错误信息:
IndexError: index 1 is out of bounds for axis 0 with size 1
那么,我想知道如何编写一个适当的循环来获得我的结果? 感谢您的帮助。
【问题讨论】:
-
如果您只是对如何实现感兴趣,请查看此内容:gist.github.com/iizukak/1287876/…
-
BTW c 不是正交的! 1*3 + 2*3 + 3*3 != 0
标签: python-3.x loops for-loop