MATLAB之非线性拟合

2025-09-23 14:17:47

    首先给出数据,如下图:

    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;

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢