MATLAB之非线性拟合

时间:2026-02-15 01:04:53

    首先给出数据,如下图:

    MATLAB之非线性拟合

    把EXCEL数据放入MATLAB软件中的“Work”文件夹下(注:文件名不能用汉字)。然后对数据读取和作图。

    MATLAB之非线性拟合

    从图中我们不难发现其图像大致符合指数形式,为此我们构造指数形式的表达式y=x1*exp{x2+x3*t}。

    通过非线性最小二乘法对其拟合,其结果图与原数据图效果非常理想。

    MATLAB之非线性拟合

    其结果为:

    q= -246.27991478063         0.127224594530866参数值

    r= 0.0224287126987522       误差平方和从误差平方和我们不难发现其拟合程度相当高,说明此拟合方程具有意义。

    其MATLAB编码:clear all;clc

    format long g  %取消科学计数法

    A=xlsread('yinsu1.xls');  %读取数据,“yinshu1”为数据文件名

    [m,n]=size(A);           %判断矩阵的阶

    B=A';        %矩阵转置

    x=B(1,:);

    y1=B(2,:);

    y=log(y1);

    f=inline('a(1)+a(2).*x','a','x');

    [q,r]=lsqcurvefit(f,[1,0],x,y)

    plot(x,y1,'r-+') %绘制图表

    hold on;

© 2026 五度知识库
信息来自网络 所有数据仅供参考
有疑问请联系站长 site.kefu@gmail.com