拟合函数,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
[p]=lsqcurvefit(@func,beta0,x0,y0);你这里的@func有问题,这个地方的函数应该不是后面你建立的那个函数,这个地方应该是一个指数衰减模型