(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)