在拟合过程中,Matlab报错“function value and YDATA sizes are not equal”,报错图如下
望能人解答,谢谢
代码附上
#main
clear all;clc;
%读取数据
data=xlsread('工作簿2.xls');
x0=data(:,1);
y0=data(:,2);
%拟合
beta0=[0.005,50,2];
% lb=[0,0,0];
% ub=[0.2,1000,5];
[p]=lsqcurvefit(@func,beta0,x0,y0);
%结果展示
xx=[1:10:360];
yy=func(p,xx);
figure;
plot(x0,y0,'ko');
hold on;
plot(xx,yy);
grid on;
#func
function yhat = func( beta0,X )
p00=beta0(1)
p10=beta0(2)
p20=beta0(3)
f=0.4-p00X/(1+X/p10);
yhat=p20sqrt((52079166+10835766ff-62914932*f)1000000/(10417-3817f)/2020);
end