已编辑函数bilinear,并保存为M文件;
function F=bilinear(c,xdata);
F=c(1)+[(sign(xdata-c(2))+1)*c(3)/2].*(xdata-c(2));
------------------------------------------------------------------------
运行程序
function fit
xdata = [0.9 2.1 1.5 1.4 1.7 1.3 1.9 3 4 5];
ydata = [1.1 1.0 0.9 1.2 1.2 0.8 1 1.8 3.2 4];
%scatter(xdata,ydata);
c0=[1,2,1];
%F=@(c,xdata)c(1)+[(sign(xdata-c(2))+1)*c(3)/2].*(xdata-c(2));
[c,resnorm] =lsqcurvefit(@bilinear,c0,xdata,ydata);
end
-----------------------------------------------------------------------
运行结果:
>> fit
Error using color
Too many input arguments.
Error in snls (line 175)
group = color(Jstr,p);
Error in lsqncommon (line 175)
[xC,FVAL,LAMBDA,JACOB,EXITFLAG,OUTPUT,msgData]=...
Error in lsqcurvefit (line 252)
[xCurrent,Resnorm,FVAL,EXITFLAG,OUTPUT,LAMBDA,JACOB] = ...
Error in fit (line 7)
[c,resnorm] =lsqcurvefit(@bilinear,c0,xdata,ydata);
------------------------------------------------------------------------------------------
matlab版本为R2012a
楼主百思不得其解,希望有大神出来指点迷津。
1111.jpg
(22.69 KB, 下载次数: 0)
2014-11-4 19:19 上传
bilinear函数