赞
踩
一、利用lsqcurvefit函数进行自定义拟合
函数一般形式 f = lsqcurvefit(fun, x0, xdata, ydata, lb, ub)
fun: 符号函数
x0: 初始解向量,即要拟合参数的初始值
xdata: 输入的x数据
ydata: 输入的y数据
lb,ub:解向量的上下界限,lb <= x0 <= ub,若没有要求,就设为空lb=[ ],ub=[ ]
二、函数的返回值
[x , resnorm, residual, exitflag, output] = lsqcurvefit()
x: 求解得到的拟合参数解向量
resnorm: 残差的平方和 sum((fun(x0, xdata)-ydata)^2)
residual: 残差 fun(x0, xdata)-ydata
exitflag: 迭代停止条件
output: 输出的优化信息
三、代码举例与图像绘制展示
- clc;
- xdata = 0:10:100;
- ydata =[100.0 81.9 67.0 54.8 44.9 36.8 30.1 24.7 20.2 16.5 13.5];
- fun = @(x,xdata)x(1)*exp(-x(2)*xdata);
- x0 = [100,0];
- [x,resnorm,residual,exitflag,output] = lsqcurvefit(fun,x0,xdata,ydata);
- xi = 0:2:100;
- yi = fun(x, xi);
- plot(xdata,ydata,'r*',xi,yi,'b-');
- xlabel('x轴数据'); ylabel('y轴数据')
- title('拟合图像')
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。