matlab基础 数据拟合

本文详细介绍了如何利用Matlab处理数据,进行非线性拟合,包括多项式、指数、高斯等多种函数拟合方法。重点展示了如何通过polyfit函数进行多项式拟合,以及在自变量和因变量有参数待定时,使用nlinfit函数进行模型参数反求,实现最优参数拟合。同时,文章提供了自定义拟合函数的实现过程,并通过实例演示了函数调用方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    最近要用matlab处理一批数据 ,作非线性拟合。matlab拟合数据有工具箱cftool (支持多项式 指数  高斯多种函数拟合.)

   当x-y有对应关系时,即x,y都是已知数据集,用 polyfit函数  可以作多项式拟合 polyfit(x,y,n)  n表示多项式次数

   实际中往往自变量和因变量 有参数待定  需要用模型反求待定参数, 使得在此模型下,得到最优参数,则可以尝试nlinfit

  nlinfit支持多个自变量   y=f(x1,x2,----)


自定义拟合函数

 function rs=nonfit(w,r)

           %w为待定系数  r为传入自变量x ,這里有 五个自变量  y=f(x1,x2,x3,x4,x5)

           rs=calKBS(w(1).*r(:,1)+w(2).*r(:,2)+w(3).*r(:,3)+w(4).*r(:,4)+(1-w(1)-w(2)-w(3)-w(4)).*r(:,5))./w(5);

  end

    %  函数调用    w0为初始值

     result= nlinfit(x(:,:,20);,density,@nonfit,w0);


   附  squeeze函数可以去除矩阵多余维数  如 3*1*6*1*7维度数据 变为3*6*7

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值