matlab 曲线曲面拟合讲解及实例三维曲线(非线性)拟合步骤 1 设定目标函数.(M 函数书写) % 可以是任意的例如: function f=mydata(a,data) %y 的值目标函数值或者是第三维的,a=[a(1) , a(2)] 列向量 x=data(1,:); %data 是一 2 维数组, x=x1 y=data(2,:); %data 是一 2 维数组, x=x2 f=a(1)*x+a(2)*x.*y; % 这里的 a(1) , a(2) 为目标函数的系数值。 f 的值相当于 ydata 的值 2 然后给出数据 xdata 和 ydata 的数据和拟合函数 lsqcurvefit 例如: x1=[ ... ]; x2=[ ... ]; ydata=[ ... ... ]; data=[x1;x2]; % 类似于将 x1 x2 整合成一个 2 维数组。 a0= [-,]; option=optimset('MaxFunEvals',5000); format long; [a,resnorm]=lsqcurvefit(***@mydata,a0,data,ydata,[],[],option); yy=mydata(a,data); result=[ydata' yy' (yy-ydata)'] %a 的值为拟合的目标函数的参数值利用 lsqcurvefi t 进行拟合的它完整的语法形式是: % [x,resnorm,residual,exitflag,output,lambda,jacobian] =lsqcurvefit(fun,x0,xdata,ydata,lb,ub,options) 二维曲线(非线性)拟合步骤 F= myfun(x,xdata) F= x(1)*xdata.^2 + x(2)*sin(xdata) + x(3)*xdata.^3; % 可以是任意的 2. 然后给出数据 xdata 和 ydata >>xdata = [ ]; >>ydata = [ ]; >>x0 = [10, 10, 10]; % 初始估计值>>[x,resnorm
matlab曲线曲面拟合讲解及实例 来自淘豆网www.taodocs.com转载请标明出处.