Я пытаюсь снабдить график c функцией, которая включает в себя интеграл. Если я не использую np.array (), возникает ошибка: «Результат от вызова функции не является правильным массивом с плавающей точкой». И если я использую np.array (), возникает другая ошибка: x и y должны иметь одинаковое первое измерение, но иметь формы (501,) и (1,). Как я могу это исправить?
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
from scipy.optimize import curve_fit
import sympy as sp
x1=[1,2,3,4,5]
y=[6,12,18,24,30]
x,a,t=sp.symbols('x a t')
def f(x,a):
return np.array([sp.integrate(t*x*a,(t,0,2))],dtype=float)
xFit=np.arange(0,5.01,0.01)
popt, pcov=curve_fit(f,x1,y)
plt.scatter(x1,y)
plt.plot(xFit,f(xFit,*popt),color="r")
print(popt[0])