lchuahp
2009-06-08, 11:20
实验中遇到飞行时间质谱图,想用MATLAB编写谱图单峰Gaussian拟合的程序,用了lsqcurvefit函数编写了下面的代码,结果不对,不知道哪里出了问题。我是个新手,还望哪位大侠指导,万分谢谢!代码是照着帮助里的示例程序写的:
xdata = [TOF(:,1)]';
ydata = [Intensity(:,1)]';
x0 = [100, 100, 100, 100];
[x,resnorm] = lsqcurvefit(@gaussianfit,x0,xdata,ydata);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function F = gaussianfit(x,xdata)
F = x(1)+x(2)*exp(-((xdata-x(3))./x(4)).^2); %定义的高斯函数
如果lsqcurvefit这个函数实现不了这个功能,我该用什么函数来做呢?MATLAB内嵌的有没有这种做高斯拟合的函数?
xdata = [TOF(:,1)]';
ydata = [Intensity(:,1)]';
x0 = [100, 100, 100, 100];
[x,resnorm] = lsqcurvefit(@gaussianfit,x0,xdata,ydata);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function F = gaussianfit(x,xdata)
F = x(1)+x(2)*exp(-((xdata-x(3))./x(4)).^2); %定义的高斯函数
如果lsqcurvefit这个函数实现不了这个功能,我该用什么函数来做呢?MATLAB内嵌的有没有这种做高斯拟合的函数?