从物理公式(无数据文件)、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 之后开始。我不确定的一件事是 linspacex 以及 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。修改的行已用主题标签 # 标记。您遇到的错误与 xlimylim 无关,而与语法有关。

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))