我正在用python编程,但我不明白我在做什么错:
import numpy as np
import matplotlib.pyplot as plt
from math import exp
x=np.linspace(0.0,4.0,100)
y1=x
for i in range(100):
y2[i]=1.5*(1-exp(-x[i]))
最后一行给我一个错误,指出:浮动对象不支持项目分配。我不明白如何将y2视为一个浮点对象,因为它是一个列表,其中每个元素都是使用1.5 *(1-exp(-x [i]))计算的。
正如Jean-FrançoisFabre和Barmar所指出的那样,仅当您已经将y2分配给浮点数时,您才会收到此消息。无论如何,您都需要以一种或另一种方式构建列表。
使用numpy数组工具(贷记为John1024):
y2 = 1.5*(1-np.exp(-x))
使用列表理解:
y2 = [ 1.5*(1-exp(-x[i])) for i in range(100) ]
如果这些比您想使用的要高级,则可以初始化y2并将其构建在循环中:
y2 = []
for i in range(100):
y2.append(1.5*(1-exp(-x[i])))
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句