已知理想曲线和不同成分的数值,怎样利用python最小二乘法求不同成分的比例

已知一条理想曲线y=f(x),已知三种不同的成分(x1,y1; x2,y2;x3,y3),其中x由(x1, x2,x3)组成。求三种不同的成分比例

(a:b:c;a+b+c=1)使得;ay1+by2+c*y3-f(x)最小

我的代码
运行结果及报错内容

运行结果

img


报错内容:Traceback (most recent call last):
File "D:\工作软件\Python相关软件\PyCharm\最小二乘法\最小二乘法1.py", line 36, in
para = leastsq(error,p0,args=()) # 进行拟合
File "C:\ProgramData\Anaconda3\lib\site-packages\scipy\optimize\minpack.py", line 410, in leastsq
shape, dtype = _check_func('leastsq', 'func', func, x0, args, n)
File "C:\ProgramData\Anaconda3\lib\site-packages\scipy\optimize\minpack.py", line 24, in _check_func
res = atleast_1d(thefunc(*((x0[:numinputs],) + args)))
TypeError: error() missing 4 required positional arguments: 'y1', 'y2', 'y3', and 'y'