我该如何解决绘图变量尺寸不匹配的错误?

问题描述 投票:0回答:2

我正在尝试使用公式2来拟合使用公式1生成的数据。前者有3个参数,而后者有5个拟合参数。但是现在由于形状不匹配,在绘制拟合曲线时出现了错误。

import numpy as np
import matplotlib.pyplot as plt
from scipy.optimize import curve_fit

def func(x, a, b, c, d, e):
    return (((a/e) * (2*x)**b) + (d * (2*x)**c))

y = []
x = []
A = 6.7
B = 2.0
C = 0.115
for N in np.logspace(1, 9., 100, base = 10.):
    x.append(int(N))
    y.append(np.exp((A-np.log(int(N)))/B)+C)
plt.loglog(x, y, 'b:*', label='data')

popt, pcov = curve_fit(func, x, y)
print(popt)
plt.loglog(x, func(x, *popt))

我想看拟合的曲线,但是最后一行'''plt.loglog(x,func(x,* popt))''']] >>

我正在尝试使用公式2来拟合使用公式1生成的数据。前者有3个参数,而后者有5个拟合参数。但是现在由于...

python curve-fitting scipy-optimize
2个回答
0
投票

执行此操作的一种方法是创建列表y_model,在其中添加与每个x对应的元素y。


0
投票

只需更改您的最后一行以创建一个包含y结果的f(x)数组:

© www.soinside.com 2019 - 2024. All rights reserved.