多元模型回归和分析.pptVIP

  • 1
  • 0
  • 约9.77千字
  • 约 53页
  • 2022-05-01 发布于广东
  • 举报
* (二)lsqcurvefit的使用 方程(目标函数) Find coefficients beta that best fit the equation 调用形式 beta= lsqcurvefit(fun, beta0,xdata,ydata) beta= lsqcurvefit(fun, beta0,xdata,ydata,lb,ub) beta = lsqcurvefit(fun, beta0,xdata,ydata,lb,ub,options) xdata和ydata——分别为观察节点和观察值向量; fun——自定义的非线性拟合模型; beta0——拟合参数的初始值; beta——拟合模型中的参数; lb,ub——拟合参数初值的边界值, lb = beta = ub。 * lsqcurvefit的使用(续) 调用形式(续) [beta,resnorm] = lsqcurvefit(...) [beta,resnorm,residual] = lsqcurvefit(...) [beta,resnorm,residual,exitflag] = lsqcurvefit(...) [beta,resnorm,residual,exitflag,output] = lsqcurvefit(...) [beta,resnorm,residual,exitflag,output,lambda] = lsqcurvefit(...) [beta,resnorm,residual,exitflag,output,lambda,jacobian] = lsqcurvefit(...) resnorm——返回beta处的残差平方和,sum((fun(x,xdata)-ydata).^2) residual——返回解beta处的残差, fun(x,xdata)-ydata exitflag——退出方式 output——返回优化信息的输出结果,iterations、funcCount、algorithm、stepsize等 lambda——解beta处的Lagrange乘子 jacobian——返回函数在解beta处的Jacobian矩阵 * lsqcurvefit的拟合函数的定义 拟合函数的定义: function F = myfun(beta,xdata) F = ... % Compute function values at x beta = lsqcurvefit(@myfun,beta0,xdata,ydata) Note: (1)fun should return fun(x,xdata), and not the sum-of-squares sum((fun(x,xdata)-ydata).^2). (2)The algorithm implicitly squares and sums fun(x,xdata)-ydata. * lsqcurvefit的拟合函数的定义(续) If the Jacobian can also be computed by user-defined function [F,J] = myfun(beta,xdata) F = ... % objective function values at beta if nargout 1 % two output arguments J = ... % Jacobian of the function evaluated at beta end options = optimset(Jacobian,on) For example function F = myfun(beta,xdata) F = beta(1)*exp(beta(2)*xdata); * lsqcurvefit应用示例 % Assume you determined xdata and ydata experimentally xdata = [0.9 1.5 13.8 19.8 24.1 28.2 35.2 60.3 74.6 81.3]; ydata = [455.2 428.6 124.1 67.3 43.2 28.1 13.1 -0.4 -1.3 -1.5]; beta0 = [100; -1] % Starting guess [beta,resnorm] = lsqcurvefit(@myfun, beta0,xdata,ydata) function F = m

文档评论(0)

1亿VIP精品文档

相关文档