Я хочу интегрировать функцию, которая не имеет решения в закрытой форме, с неизвестной переменной, а затем построить график с неизвестной переменной.Чтобы попробовать более простой тест, я попытался использовать интеграл f(x,c) = (x^2+c)
, интегрированный относительно x
и построить график с различными значениями c
.Тем не менее, приведенный ниже код получает ошибку
только массивы размера 1 могут быть преобразованы в скаляры Python
, даже если это целое число, например integral(5)
,кажется, возвращает правильное скалярное значение.
import numpy as np
import matplotlib.pyplot as plt
from scipy import integrate
def f(x,c):
return x**2+c
def integral(c):
return integrate.quad(f,0,10, args = (c,))[0]
y = np.linspace(0,20,200)
plt.plot(y, integral(y))