MATLAB从EXCEL中读取数据做曲线拟合(polyfit)
人气:0本文基于MATLAB,首先使用xlsread( )从EXCEL中读取数据,然后根据读取的数据使用polyfit做三阶拟合,最后将数据散点图与拟合曲线画在一起。
操作方法
- 01
第一,EXCEL中的数据。13.00 23.11 64.83 24.39 92.85 66.24 75.59 97.91 117.20 150.46
- 02
第二,启动MATLAB,新建脚本(Ctrl+N),输入如下代码:close all; clear all; clcdata=xlsread('abc.xlsx',1);x=1:1:10;y=polyfit(x,data,3)plot(x,data,'linestyle','none','marker','.','markersize',35)其中xlsread('abc.xlsx',1)是从EXCEL表格abc.xlsx中读取数据,y=polyfit(x,data,3)是对EXCEL中的数据(因变量)与自变量x进行3阶拟合。plot(x,data,...)是绘制data的散点图。
- 03
第三,保存和运行上述代码,在命令行窗口得到如下拟合结果。y =0.3944 -5.8928 36.5111 -20.6923也就是说,3阶拟合结果为:y=0.3944*x.^3-5.8928*x.^2+36.5111*x-20.6923;
- 04
第四,同时得到EXCEL数据的散点图如下。
- 05
第五,在第三步中获得了3阶拟合结果y =0.3944 -5.8928 36.5111 -20.6923,下面编写代码把拟合曲线与数据散点图画在一起,比较一下拟合效果。接着输入以下代码:hold on;yy=0.3944*x.^3-5.8928*x.^2+36.5111*x-20.6923;plot(x,yy,'-r','linewidth',2)
- 06
第六,保存和运行上述脚本,最终得到如下图形,数据散点图与拟合出的3阶曲线图放置在一起,从而能够很好的发现拟合效果。
加载全部内容