matlab曲线拟合 函数 用法以及例子 如何用matlab拟合曲线

matlab曲线拟合 函数 用法以及例子——简介

在运行MATLAB编程进行数据的处理过程当中,我们常常用到matlab曲线拟合,但是工具箱由于需要人工交互,得到的拟合结果,需要人工的去提取,再输入,所以,工具箱拟合结果十分不适合调用,以及继续下面的操作,所以我们需要用到matlab曲线拟合函数,并且以最常用的多项式拟合函数为例作为matlab曲线拟合例子,进行详细介绍。

matlab曲线拟合 函数 用法以及例子——工具/原料

MATLAB

matlab曲线拟合 函数 用法以及例子——matlab曲线拟合

matlab曲线拟合 函数 用法以及例子 1、

数据准备:

关于MATLAB曲线拟合,我写了一系列的经验,为了相互统一,采用下面的数据:

x=[0 0.3000 0.6000 0.9000 1.2000 1.5000 1.8000 2.1000 2.4000 2.7000 3.0000]

y=[2.0000 2.3780 3.9440 7.3460 13.2320 22.2500 35.0480 52.2740 74.5760 102.6020 137.0000]

由函数y=4*x^3+3*x^2+2 产生。


matlab曲线拟合 函数 用法以及例子 2、

函数命令拟合:

MATLAB为我们提供了多项式拟合函数命令polyfit,下面我们就用这个函数命令进行拟合。

在MATLAB主窗口中输入

y1=polyfit(x,y,3),回车

我们会看到下面结果:

y1 =

4.0000 3.0000 0.0000 2.0000


matlab曲线拟合 函数 用法以及例子 3、
matlab曲线拟合 函数 用法以及例子 如何用matlab拟合曲线

函数的说明:

y1=polyfit(x,y,N),这里函数polyfit第一个参数传递的是拟合数据的自变量,第二个参数是因变量,第三个参数是拟合多项式的阶数,这个由我们给定。如下图。我们可以给定不同的N,运用不同的多项式进行拟合。

输出结果:

在上面的例子中我们看到输出的结果是:

y1 =

4.0000 3.0000 0.0000 2.0000

对照原始的函数y=4*x^3+3*x^2+2 ,我们可以看到,y1其实输出的是拟合函数的系数,并且由高次到低次由左到右输出。

matlab曲线拟合 函数 用法以及例子_曲线拟合


matlab曲线拟合 函数 用法以及例子 4、

多项式阶数N的确定:

这里有些人可能会有问题了,我们事先不知道要拟合的数据是几阶的,那么我们如何判断我们给定的拟合阶数N最终为多少呢?

阶数确定方法一:

这种方法是最常用的确定方法,一般情况下,我们拟合函数的目的,就是为了调用,所以在用函数拟合之前会用matlab曲线拟合工具箱进行拟合函数阶数的确定,由其确定拟合的阶数,然后我们用这个函数命令在其他地方进行十分方便地调用,这是最常用的做法。我们往往拟合的是多个同类型的数据,所以确定好一组样本的次数之后,就可以对其他数据用同样的N进行拟合。


matlab曲线拟合 函数 用法以及例子 5、

阶数确定方法二:

这种方法方法可以取代用cftool进行判断的过程,具体实现代码如下:

for i=1:5

y2=polyfit(x,y,i);

Y=polyval(y2,x);%计算拟合函数在x处的值。

if sum((Y-y).^2)<0.1

c=i

break;

end

end

运行以上程序,结果如下:

c=3

假设我们的误差平方和精度范围为0.1,那么通过以上程序,我们可以看到用3阶函数拟合,就可以达到精度要求。在多项式进行拟合的时候这个值我们在程序执行的过程中就直接可以调用。

说明:至于说用plot函数进行画图,肉眼观察拟合程度的那种笨方法,我们不推荐,这里也不赘述。

matlab曲线拟合 函数 用法以及例子——matlab曲线拟合结果调用及显示

matlab曲线拟合 函数 用法以及例子 1、

大家可能有疑问,我们拟合完函数之后得到的是拟合多项式的系数,我们应该如何调用?如何查看我们拟合的多项式是什么形式呢?下面我们就接着上面的内容进行介绍。


matlab曲线拟合 函数 用法以及例子 2、

拟合多项式的显示:

在MATLAB主窗口中输入

syms x f(x)

f(x)=poly2sym(y2,x)

我们会看到输出如下结果:

f(x) =

4*x^3 + 3*x^2 + (5822273280258613*x)/1267650600228229401496703205376 + 2

这就是我们拟合出来的多项式。

这里我们看到一次项的系数并不是0,这里5822273280258613/1267650600228229401496703205376=4.5930e-15,这个数量级我们完全可以忽略,认为是0。

matlab曲线拟合 函数 用法以及例子_曲线拟合


matlab曲线拟合 函数 用法以及例子 3、

拟合结果的调用:

在MATLAB主窗口中输入如下命令:

TEST=polyval(y2,x)

我们可以看到如下结果,如下图。

函数polyval()的第一个参数为多项式的系数,第二个参数为要计算的自变量值。可以是向量或者矩阵。

matlab曲线拟合 函数 用法以及例子——注意事项

如果以上经验有用,请点击下方的 有用按钮支持我的工作,谢谢!

  

爱华网本文地址 » http://www.413yy.cn/a/25101010/8713.html

更多阅读

excel公式函数详解:19 yearfrac函数用法介绍

excel公式函数详解:[19]yearfrac函数用法介绍——简介一个良好的规划对于生活品质和工作效率都极其重要,在实际生活中我们往往需要计算一年有几个项目,每个项目需要花费多长时间。不同的工作其所花的中心也应该不一样。在excel中有一个

MATLAB 各种 对数函数 用法以及实例 matlab 对数函数

MATLAB 各种 对数函数 用法以及实例——简介在MATLAB运算当中,我们常常需要求对数,在编写M文件的过程中,我们也需要表示对数,下面我就通过一些示例介绍一下如何在MATLAB中求对数。MATLAB 各种 对数函数 用法以及实例——工具/原料MATLA

Excel函数详解:166 FREQUENCY函数用法

Excel函数详解:[166]FREQUENCY函数用法——简介FREQUENCY函数,用于以垂直数组的形式返回多个数值在某个区域内出现的频率。该函数返回的是数组,所以必须以数组公式的形式进行输入。Excel函数详解:[166]FREQUENCY函数用法——工具/原料

谈谈 Excel SUMIF函数用法 多条件求和 sumif日期条件求和

2010年9月1日 Surda 317 次 发表评论 阅读评论上篇文章跟大家分享了SUM函数非一般的用法,本文我们来品味SUMIF的魅力。SUMIF,根据指定条件对若干单元格求和。其函数原型:SUMIF(range,criteria,sum_range),参数:range 为用于条件判断的

Excel统计函数COUNTIF的用法及实例 vb随机函数用法和实例

[转自]★笨笨☆ http://blog.sina.com.cn/pengjichang一:首先介绍COUNTIF函数的用法英文通用格式是:COUNTIF(range,criteria)中文通用格式是:COUNTIF(数据区域,条件表达式)1、返加包含值12的单元格数量=COUNTIF(range,12)2、返回包含负值的

声明:《matlab曲线拟合 函数 用法以及例子 如何用matlab拟合曲线》为网友当时年少春衫薄分享!如侵犯到您的合法权益请联系我们删除