基于Matlab的曲线拟合
新建m文件,将待拟合函数写入,保存为cf.m: function f=cf(x,xdate) n=length(xdate); for i=1:n
f(i)=x(1)+x(2)*xdate(i)+x(3)*sin(xdate(i))+x(4)*exp(xdate(i));
end
运行以下程序: clear all;
xdata=[0.1 0.4 0.5 0.7 0.8 0.9]; ydata=[0.61 0.92 0.99 1.52 1.47 2.03]; x0=[1 1 1 1]';%初始点选为全1向量 x=lsqcurvefit('qx',x0,xdata,ydata) plot(xdata,ydata,'ro'); xi=0:0.01:1; y=cf(x,xi); grid on;hold on; plot(xi,y) xlabel('x') ylabel('y')
title('lsqcurvefit函数曲线拟合') legend('原始数据点','拟合曲线') 输出结果: x =
7.0008 38.4868 -30.0778 -6.5485
图1为仿真结果图,Matlab直观的给出了拟合结果。即求得的拟合函数为f(x)= 7.0008+38.4868x-30.0778sinx-6.5485ex。
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库基于Matlab的曲线拟合(4)在线全文阅读。
相关推荐: