多元非线性函数拟合(Matlab

您所在的位置:网站首页 matlab如何拟合直线 多元非线性函数拟合(Matlab

多元非线性函数拟合(Matlab

2023-06-22 12:16| 来源: 网络整理| 查看: 265

多元非线性函数拟合(Matlab_nlinfit函数) 原创

chaoql 2023-06-20 10:36:47 ©著作权

文章标签 拟合 估值 数据 文章分类 代码人生

©著作权归作者所有:来自51CTO博客作者chaoql的原创作品,请联系作者获取转载授权,否则将追究法律责任

Process

前两天练题的时候要用到多元非线性拟合,但是在网上找到的大多都是一些求问的帖子,真正有用的回答却不多,这里汇总一下与大家分享。

首先导入数据(参数和结果)确定自己要拟合的函数(自己画个散点图预估一下,或者是使用SPSS的曲线估算,但是没自己画图看的舒服)确定要拟合的系数的预估值(全部写零也行,但是你得有个大概想法,比如你图像是幂次为负的幂函数,那么你就写个负值,比如-1)套用nlinfit函数,得出的bate矩阵就是你要拟合的系数矩阵。covB回归系数的协方差 mse均方误差 beta参数最优值 r各点处的拟合残差 J雅各比矩阵的数值 ErrorModelInfo错误模型信息Codeclear all; a=xlsread("C:\Users\123\Desktop\数据.xlsx","a");%导入表a b=xlsread("C:\Users\123\Desktop\数据.xlsx","b");%导入表b s=a(:, 6);%y值(结果矩阵) myfunc=inline('beta(1).*x(:,1).^(beta(2))+beta(3).*x(:,2).^(beta(4))+beta(5).*x(:,3).^(beta(6))+beta(7).*x(:,4).^(beta(8))+beta(9)','beta','x');%内联函数(beta是函数自带的代表待确定的系数) beta0 = [1, -2 ,1, -2 ,1, -2 ,1, -2 ,60];%待定系数的预估值 [beta,R,J,CovB,MSE,ErrorModelInfo]= nlinfit(b, s, myfunc,beta0); beta

收藏 评论 分享 举报

上一篇:【蓝桥杯_基础练习】十六进制转八进制(C++_高精_打表)

下一篇:【蓝桥杯_真题演练】第九届C/C++省赛B组_I-全球变暖(C++_BFS)



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3