Python 无法在for之后打印数据
我试图用排列数据绘制一个排列与一个等式的结果。我得到这个错误: NameError:未定义名称“N” 代码: 你使用不正确。第三个参数是步数Python 无法在for之后打印数据,python,numpy,matplotlib,Python,Numpy,Matplotlib,我试图用排列数据绘制一个排列与一个等式的结果。我得到这个错误: NameError:未定义名称“N” 代码: 你使用不正确。第三个参数是步数 import numpy as np import matplotlib.pyplot as plt T = np.linspace(0.01, 4.5, 450) N = (2.63 * 10 ** -16) * ((2.71828 ** (6.93 * T)) - 1) + ( (4.05 * 10 ** -6) * T) plt.
import numpy as np
import matplotlib.pyplot as plt
T = np.linspace(0.01, 4.5, 450)
N = (2.63 * 10 ** -16) * ((2.71828 ** (6.93 * T)) - 1) + (
(4.05 * 10 ** -6) * T)
plt.plot(N, T)
plt.show()
此外,对于循环,您不需要
正如@Stephen Rauch所提到的,linspace
的第三个参数是。因此,当num
小于1时,T
为空且N
未赋值:
import numpy as np
T = np.linspace(0.01, 4.5, 0.01)
print(len(T)) # results 0
使用,您可以将开始、停止和步骤定义为:
import numpy as np
import matplotlib.pyplot as plt
T = np.arange(0.01, 4.5, 0.01)
N = (2.63*10**-16)*((2.71828**(6.93*T))-1)+((4.05*10**-6)*T)
plt.plot (N,T)
plt.show()
除了需要正确使用linspace
之外,如果您想知道如何使for循环工作,一种方法是使用列表存储您的值,然后一次绘制所有列表
import numpy as np
import matplotlib.pyplot as plt
T = np.linspace(0.01, 4.5, 450)
N = []
for i in T:
N.append((2.63*10**-16)*((2.71828**(6.93*i))-1)+((4.05*10**-6)*i))
plt.plot (N,T)
plt.show()
import numpy as np
import matplotlib.pyplot as plt
T = np.linspace(0.01, 4.5, 450)
N = []
for i in T:
N.append((2.63*10**-16)*((2.71828**(6.93*i))-1)+((4.05*10**-6)*i))
plt.plot (N,T)
plt.show()