【发布时间】:2020-09-29 01:45:54
【问题描述】:
我在 Matlab 方面有很强的背景,我正在尝试切换到 python。我正在尝试使用 numpy 数组编写嵌套 for 循环并存储输出值。
我的代码如下:
import numpy as np
import math
# T parameter
kk = np.arange(0, 20, 0.1)
print(len(kk))
# V parameter
pp = np.arange(1, 5, 1)
print(len(pp))
a = len(kk)
b = len(pp)
P = np.zeros((a,b))
for T in kk:
print(T)
for V in pp:
print(V)
P = math.exp(-T*V/10)
print(P)
解释/问题
kk, pp 是向量。在 for 循环中,正在调用正确的 T 和 V 参数值。但是,P 的值并未被存储。
我尝试了以下更改
P[T][V] = math.exp(-T*V/10),我收到以下错误:IndexError: only integers, slices (:), ellipsis (...), numpy.newaxis (None) 和整数或布尔数组是有效的索引
任何帮助将不胜感激。提前谢谢你。
【问题讨论】:
-
我使用 MATLAB 的经验有点过时。在过去,我们试图避免迭代计算,因为它们很慢。相反,我们尝试使用整个矩阵。但我听说较新的 MATLAB 会进行各种形式的
jit编译,使得循环可以接受。
标签: python python-3.x numpy for-loop