我正在为我之前加入的一个天体动力学研究小组将代码从Matlab转换为Python。我试图用牛顿方法来求解轨道的偏心异常,这需要一个迭代过程。
我已经在for循环之外创建了矩阵M
,并希望在for循环中对该矩阵进行索引。
示例:(这就是我在Matlab中编写它的方式,我正在寻找如何在Python中实现这一点,特别是调用与for循环正在运行的i
值的位置一致的M
元素。(
M = [1, 2, 3, 4] (where M(1) = 1 and M(3) = 3 and so on)
for i = 1:4
E(i) = 2 - M(i)
end
Result: E = [1, 0, -1, -2]
如果有任何建议,我将不胜感激。
谢谢!
我不完全确定我是否理解你的问题,但这就是你想要的吗?
E = [2 - i for i in range(1, 5)]
# [1, 0, -1, -2]
所以,如果你有一个可迭代的"矩阵";M
,这将是的解决方案
M = [1, 2, 3, 4]
E = [2 - i for i in M]
# [1, 0, -1, -2]
A"直接翻译";进入Python的是:
M = [1, 2, 3, 4]
E = [0, 0, 0, 0]
for i in range(4): ##from 0 to 3
E[i] = 2 - M[i]
print(E)
请注意,Python中的第一个索引始终为0我保留了for循环,因为它可能更容易遵循。