matlab做数据拟合

举报
kobesdu 发表于 2022/01/29 13:26:46 2022/01/29
【摘要】 (1)先从excel中导入数组;其中 x数据去第一列; y取第二列; clear all;clc; [filename,pathname]=uigetfile('*.xls','选择数据文件'); [num txt]=xlsread([pathname,filename]); x=num(:,1); y=num(:,3);(2)输入cftool命令cftool是matlab一个强大的曲线拟合...

数据拟合的目的是使用一个较为简单的函数去逼近一个复杂的、未知的函数,在MATLAB中数据拟合的原理是最小拟合的最小二乘原理,其中polyfit与polyval是最基本的拟合方法,除此之外,MATLAB还提供了更为直接简单的数据拟合工具,cftool,下面举一个例子,介绍这两种数据拟合的方法。

(1)先从excel中导入数组;

其中 x数据去第一列; y取第二列; clear all;clc; [filename,pathname]=uigetfile('*.xls','选择数据文件'); [num txt]=xlsread([pathname,filename]); x=num(:,1); y=num(:,3);

(2)输入cftool命令

cftool是matlab一个强大的曲线拟合工具箱。能实现多种线性、非线性的曲线拟合。此命令可以打开matlab中最常用的函数拟合工具箱。不过cftool只能进行单个变量的拟合,混合型曲线拟合效果不太好。。

在打开的对话框中选取 x y 作拟合,可以选择多个拟合的形式,如 多项式拟合,指数,等

拟合后的结果

General model of sin1: ....... (函数形式) Coefficients (with 95%conffidence range) (95%致信区间内的拟合常数)

a1=... ( ......) (等号后面是平均值,括号里是范围) .... Godness of fit: (统计结果) SSE: ... (方差) R-squared: ... (决定系数,不知道做什么的) Adjusted R-squared: ... (校正后的决定系数,如何校正的不得而知) RMSE: ... (标准差)

说明

用户自定义的函数类型

指数逼近,有2种类型;傅立叶逼近,有7种类型;高斯逼近,有8种类型,基础型是 a1exp(-((x-b1)/c1)^2);插值逼近,有4种类型,linear、nearest neighbor、cubic spline、shape-preserving;多形式逼近,有9种类型,linear ~、quadratic ~、cubic ~、4-9th degree ~ 幂逼近,有2种类型,ax^b 、ax^b + c;有理数逼近,分子、分母共有的类型是linear ~、quadratic ~、cubic ~、4-5th degree ~;此外,分子还包括constant型;平滑逼近 正弦曲线逼近,有8种类型,基础型是 a1sin(b1x + c1); Weibull:只有一种,ab*x^(b-1)exp(-ax^b)



【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。