Page 51 - 数学建模算法与应用
P. 51
第二章 常用建模函数详解
■ [x,resnorm,residual,exitflag,output]=lsqcurvefit(…)——output 为输出
的优化信息。
例 已知输入向量 xdata 和输出向量 ydata,且长度都是 n,使用最小二乘非线
性拟合函数:
ydata(i)=x(1)·xdata(i) +x(2)·sin(xdata(i))+x(3)·xdata(i) 3
2
解 根据题意可知,目标函数为
其中
F(x,xdata)=x(1)·xdata2 +x(2)·sin(xdata)+x(3)·xdata3
初始解向量定位 x0=[0.3,0.4,0.1]。
首先建立拟合函数文件 ex1024.m。
function F = ex1024(x, xdata)
F = x(1)*xdata.^2 + x(2)*sin(xdata) + x(3)*xdata.^3;
再编写函数拟合代码如下所示:
clear all;
clc;
xdata = [3.6 7.7 9.3 4.1 8.6 2.8 1.3 7.9 10.0 5.4];
ydata = [16.5 150.6 263.1 24.7 208.5 9.9 2.7 163.9 325.0 54.3];
x0 = [10 10 10];
[x,resnorm] = lsqcurvefit(@ex1024,x0,xdata,ydata);
结果为:
x =
[0.2269, 0.3385, 0.3022]
resnorm =
6.2950
即函数在 x=0.2269、x=0.3385、x=0.3022 处残差的平方和均为 6.295。
41

