【发布时间】:2025-12-23 15:05:15
【问题描述】:
我正在尝试转换工作的 Matlab 代码。这就是我所拥有的:
d=[0.004398047,0.123]
m=[0.071,0.123]
x=[]
indices=[1,2,3]
for i in indices:
print(i)
if d[i]==0.0:
print (d[i])
x.append(m[i])
else:
print('else',i)
x.append(m[i]+d[i]* ny.random.normal(0, 0.1, 1))
运行它我得到“IndexError:列表索引超出范围”。为什么会出现这种情况?
【问题讨论】:
-
列表从 0....
0,1,2开始索引,d也只有 2 个元素,因此即使使用该修复程序,您也会收到相同的错误 -
抱歉,我遇到了另一个错误,我忘记从索引中删除第三个元素。我会带着一个更聪明的问题回来(作为儿子,因为我会更聪明一点地醒来)......无论如何,谢谢你的关注。