作业帮 > 综合 > 作业

已知方程如何用MATLAB进行非线性拟合求模型参数

来源:学生作业帮 编辑:灵鹊做题网作业帮 分类:综合作业 时间:2024/05/06 13:52:43
已知方程如何用MATLAB进行非线性拟合求模型参数
已知方程如何用MATLAB进行非线性拟合求模型参数
下面是相应的Matlab程序
function matexpfit(x,y)
%指数曲线拟合及其图示
%x,y为已知数据点且均为行向量
%拟合曲线
A=[ones(size(x))',x'];B=log(y)';X=A\B;
%A\B为矩阵除法求AX=B的解
fprintf('a=%f,b=%f\n',exp(X(1)),X(2))
fprintf('拟合曲线y=%fexp(%f x)\n',exp(X(1)),X(2))
clf;
x0=x(1):0.01:x(length(x));
%形如X=a:h:b是从a到b,增量为h的等间隔数
y0=X(2)*exp(X(1)*x0);
plot(x,y,'o',x0,y0,'-') %绘制以(x,y)为节点的图形
title('Exp Curve Fitting'); %给图形加标题
legend('Data','Curve Fitting') %给图形加图例
下面用MATLAB软件运行程序可得结果如下图:
产生的图形如下