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
   46   47   48   49   50   51   52   53   54   55   56