三维曲线(非线性)拟合步骤 1 设定目标函数. (m函数书写)% 可以是任意的 例如: f nction f=mydata(a,data) %y的值目标函数值 或者是第三维的,a=[a(1) ,a(2)] 列向量 x=data(1,:); ta 是一2维数组,x=x1 y=data(2,:); ta 是一2维数组,x=x2 f=a(1)*x+a(2)*x.*y; %这里的a(1), a(2)为目标函数的系数值. f的值相当于ydata的值 2 然后给出数据xdata和ydata的数据和拟合函数lsqc rvefit 例如: x1=[1.0500 1.0520 1.0530 1.0900 1.0990 1.1020 1.1240 1.1420... 1.1490 1.0500 1.0520 1.0530 1.0900 1.0990 1.1020 1.1240 1.1420 1.1490]; x2=[3.8500 1.6500 2.7500 5.5000 7.7000 3.3000 4.9500 8.2500 11.5500... 1.6500 2.7500 3.8500 7.7000 3.3000 5.5000 8.2500 11.5500 4.9500]; ydata=[56.2000 62.8000 62.2000 40.8000 61.4000 57.5000 44.5000 54.8000... 53.9000 64.2000 62.9000 64.1000 63.0000 62.2000 64.2000 63.6000... 52.5000 62.0000]; data=[x1;x2]; %类似于将x1 x2整合成一个2维数组. a0= [-0.0014,0.07]; option=optimset( maxf nevals ,5000); format long; [a,resnorm]=lsqc rvefit(@mydata,a0,data,ydata,[],[],option); yy=mydata(a,data); res lt=[ydata yy (yy-ydata) ] % a的值为拟合的目标函数的参数值 利用lsqc rvefit进行拟合的 它完整的语法形式是: % [x,resnorm,resid al,exitflag,o tp t,lambda,jacobian] =lsqc rvefit(f n,x0,xdata,ydata,lb, b,options) 二维曲线(非线性)拟合步骤 1.f nction f = myf n(x,xdata) f = x(1)*xdata.^2 + x(2)*sin(xdata) + x(3)*xdata.^3; % 可以是任意的 2.然后给出数据xdata和ydata 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];