从物理公式(无数据文件)、python 和 numpy 绘制图形
Plotting graph from Physics formula (no data files), python and numpy
我的代码中一直出现以下错误:
"unsupported operand type(s) for ^: 'float' and 'int'"
我尝试在公式中执行 //
以消除浮点数,但没有奏效。我正在尝试绘制一个函数 V(ru)
。我不知道任何界限,除了 V
必须在 0
之后开始。我不确定的一件事是 linspace
和 x
以及 y
限制。有人可以告诉我我的错误是否与这些行有关,如果不是,是哪一行?
还有谁知道为什么即使它显示的是一个简单的线性图?
import matplotlib.pyplot as plt
import numpy
r_data = numpy.linspace(1, 50)
def V(ru):
rm = 2**(1/6)
return ((rm/ru)**0.5)-(2*((rm/ru)^6))
v_data = numpy.linspace(V(1), v(50))
plt.plot(r_data, v_data)
plt.xlim(1, 50)
plt.ylim(V(1), V(50))
您有两个错别字:第一个:^
而不是**
,因为在python中后者用于提升权力和第二个,v
而不是V
。修改的行已用主题标签 #
标记。您遇到的错误与 xlim
或 ylim
无关,而与语法有关。
import matplotlib.pyplot as plt
import numpy
r_data = numpy.linspace(1, 50)
def V(ru):
rm = 2**(1/6)
return ((rm/ru)**0.5)-(2*((rm/ru)**6)) # ^ replaced by **
v_data = numpy.linspace(V(1), V(50)) # v(50) replaced by V(50)
plt.plot(r_data, v_data)
plt.xlim(1, 50)
plt.ylim(V(1), V(50))
我的代码中一直出现以下错误:
"unsupported operand type(s) for ^: 'float' and 'int'"
我尝试在公式中执行 //
以消除浮点数,但没有奏效。我正在尝试绘制一个函数 V(ru)
。我不知道任何界限,除了 V
必须在 0
之后开始。我不确定的一件事是 linspace
和 x
以及 y
限制。有人可以告诉我我的错误是否与这些行有关,如果不是,是哪一行?
还有谁知道为什么即使它显示的是一个简单的线性图?
import matplotlib.pyplot as plt
import numpy
r_data = numpy.linspace(1, 50)
def V(ru):
rm = 2**(1/6)
return ((rm/ru)**0.5)-(2*((rm/ru)^6))
v_data = numpy.linspace(V(1), v(50))
plt.plot(r_data, v_data)
plt.xlim(1, 50)
plt.ylim(V(1), V(50))
您有两个错别字:第一个:^
而不是**
,因为在python中后者用于提升权力和第二个,v
而不是V
。修改的行已用主题标签 #
标记。您遇到的错误与 xlim
或 ylim
无关,而与语法有关。
import matplotlib.pyplot as plt
import numpy
r_data = numpy.linspace(1, 50)
def V(ru):
rm = 2**(1/6)
return ((rm/ru)**0.5)-(2*((rm/ru)**6)) # ^ replaced by **
v_data = numpy.linspace(V(1), V(50)) # v(50) replaced by V(50)
plt.plot(r_data, v_data)
plt.xlim(1, 50)
plt.ylim(V(1), V(50))