python 使用多变量方程创建SymPy表达式的图[duplicate]

06odsfpq  于 2022-10-30  发布在  Python
关注(0)|答案(1)|浏览(174)

此问题在此处已有答案

Using Sympy Equations for Plotting(2个答案)
16小时前就关门了。
我已经知道如何用SymPy创建一个方程,但是,我不知道如何绘制两个值之间的关系。每当我写plt.plot(Rho , T)时,我总是得到TypeError: Cannot convert expression to float。到目前为止,我有一个类似于以下的代码:

import matplotlib as plt
from sympy import init_session

init_session()

rho, X, Y, Z, T_9, T, T_8, m, n, Gamma = symbols('rho X Y Z T_9 T T_8 m n Gamma')

q_pp = (2.4 * 10**(4) * rho * X**2 / T_9**(2/3)) * exp((-3.380/T_9**(1/3)))
q_CNO = (4.4 * 10**(25) * rho * X* Z/ T_9**(2/3)) * exp((-15.228/T_9**(1/3)))

q_min = q_pp + q_CNO
simplify(q_min)

T_9 = T / (10**9)

Rho = (10**3)*(T_9**(1/3) / (24000 * X * exp(15.228/T_9**(1/3)) + (4.4*10**25) * Z * exp(3.38/T_9**(1/3)))) * exp(-18.608/ T_9**(1/3))
simplify(Rho)

plot_implicit(T, Rho)

更新:我使用SymPy绘图来获得新错误,我更新了代码以反映我目前拥有的TypeError: object of type 'Mul' has no len()

6pp0gazn

6pp0gazn1#

你需要提供自变量的值。例如,要绘制一个像y = x**2 - 1这样的表达式,我可以这样做:

import numpy as np
import matplotlib.pyplot as plt

x = np.arange(0, 20)  # Provide the range of the independent variable.
y = x**2 - 1          # Compute the dependent variable.

plt.plot(x, y)

在你的例子中,我想你需要提供T的值,而且看起来还有其他几个未知数。

相关问题