[matlab]曲线拟合(整理)



一、曲线拟合是要找到一条光滑曲线,使其最佳地拟合数据,该曲线不必经过数据点

二、曲线拟合的内容:

  1、光滑曲线的形式是怎么样:多项式模型?指数模型?其他函数模型

  2、最佳拟合的概念: 常用的误差准则是误差平方和最小,也可以是最大误差最小准则,误差绝对值和等。

三、Matlab多项式拟合函数(指数拟合可以转换为多项式拟合来做,略):

  ployfit(x,y,n);   %返回值为多项式的各个系数

    x  自变量

    y  应变量

    n  多项式阶数

  polyval(P,xi);   %返回值为多项式在xi(可以是数组)的取值

    P  多项式的系数数组

    xi  求值点

  例子如:ploy1.m

  

 1 clear;clc;
 2 %多项式拟合
 3 x = 0:0.1:1;
 4 y = log(1+x);
 5
 6 P = polyfit(x,y,3); %3阶多项式拟合
 7
 8 xi = 0:0.01:1.0;
 9 yi =polyval(P,xi);
10 plot(x,y,‘+‘);   %以圈画出 Marker Specifiers
11 hold on;
12 plot(xi,yi,‘k‘,‘Color‘,‘r‘);
13 hold on;
14 plot(xi,log(1+xi),‘g‘);
15 xlabel(‘x‘);
16 ylabel(‘y‘);
17
18
19 legend(‘采样数据‘,‘拟合数据‘,‘精确数据‘);

poly1.m

  

四、工具箱 cftool (Curve Fitting Tool)

  Matlab 命令行中输入 cftool  或者在App中进入Curve Fitting ,工具用起来挺简单的,不赘述。



Ref:

1、《Matlab使用详解》  董霖 科学出版社

2、http://jingyan.baidu.com/article/cbf0e500f02b572eaa289399.html  MATLAB拟合工具箱 cftool 用法及实例

时间: 2024-08-10 19:10:34

[matlab]曲线拟合(整理)的相关文章

Matlab 曲线拟合

在matlab中经常需要对数据进行曲线拟合,如最常见的多项式拟合,一般可以通过cftool调用曲线拟合工具(curve fit tool),通过图形界面可以很方便的进行曲线拟合,但是有些时候也会遇到不方便用图形工具.因此这里简单的记下两种常用的拟合方法. 1 多项式拟合(polyfit和polyval) polyfit可以对数据进行拟合(自定义用几次多项式),返回相应的参数,然后用polyval生成拟合后的数据点,下面的例子中我们对抛物线y=3x2+6x+5进行拟合. x = -5:0.1:5;

Matlab 曲线拟合之polyfit与polyval函数

p=polyfit(x,y,n) [p,s]= polyfit(x,y,n) 说明:x,y为数据点,n为多项式阶数,返回p为幂次从高到低的多项式系数向量p.x必须是单调的.矩阵s用于生成预测值的误差估计. 多项式曲线求值函数:polyval( ) 调用格式: y=polyval(p,x) [y,DELTA]=polyval(p,x,s) 说明:y=polyval(p,x)为返回对应自变量x在给定系数P的多项式的值. [y,DELTA]=polyval(p,x,s) 使用polyfit函数的选项输

基于MATLAB的多项式数据拟合方法研究-毕业论文

摘要:本论文先介绍了多项式数据拟合的相关背景,以及对整个课题做了一个完整的认识.接下来对拟合模型,多项式数学原理进行了详细的讲解,通过对文献的阅读以及自己的知识积累对原理有了一个系统的认识.介绍多项式曲线拟合的基本理论,对多项式数据拟合原理进行了全方面的理论阐述,同时也阐述了曲线拟合的基本原理及多项式曲线拟合模型的建立.具体记录了多项式曲线拟合的具体步骤,在建立理论的基础上具体实现多项式曲线的MATLAB实现方法的研究,采用MATLAB R2016a的平台对测量的数据进行多项式数据拟合,介绍了M

利用MATLAB进行曲线拟合

软件环境:MATLAB2013a 一.多项式拟合 多项式拟合是利用多项式最佳地拟合观测数据,使得在观测数据点处的误差平方和最小. 在MATLAB中,利用函数ployfit和ployval进行多项式拟合. 函数ployfit根据观测数据及用户指定的多项式阶数得到光滑曲线的多项式表示,polyfit的一般调用格式为:P = polyfit(x,y,n).其中x为自变量,y为因变量,n为多项式阶数. polyval的输入可以是标量或矩阵,调用格式为 pv = polyval(p,a) pv = pol

如何将txt中的数据整理到Matlab中画图

需求:我有一个如下图所示格式错乱的txt文本,现在我需要用matlab把其中的某些列画成图,具体步骤如下: 1.txt文本中的初始值整理好: 2.新建excel文件,数据-导入-选择txt文档-导入: 这里需要说明的是:excel文件必须放在MATLAB的主文件夹下,如上图所示的位置. 下面开始导入数据: 一直下一步知道完成. 3.选定排序,对B列按升序排序,将Src2复制到一个Sheet: 4.打开matlab,Import Data-选择excel文本,选择需要导出的行列,修改列名,Impr

关于神经网络(matlab)归一化的整理

关于神经网络归一化方法的整理由于采集的各数据单位不一致,因而须对数据进行[-1,1]归一化处理,归一化方法主要有如下几种,供大家参 考:(by james)1.线性函数转换,表达式如下:y=(x-MinValue)/(MaxValue-MinValue)说明:x.y分别为转换前.后的值,MaxValue.MinValue分别为样本的最大值和最小值.2.对数函数转换,表达式如下:y=log10(x)说明:以10为底的对数函数转换.3.反余切函数转换,表达式如下:y=atan(x)*2/PI归一化是

MATLAB实例:非线性曲线拟合

MATLAB实例:非线性曲线拟合 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 用最小二乘法拟合非线性曲线,给出两种方法:(1)指定非线性函数,(2)用傅里叶函数拟合曲线 1. MATLAB程序 clear clc xdata=[0.1732;0.1775;0.1819;0.1862;0.1905;0.1949;0.1992;0.2035;0.2079;0.2122;0.2165;0.2208;0.2252;0.2295;0.2338;0.238

Matlab中用fit做曲线拟合

1.确定要拟合的类型 一般情况下matlab会直接提供常用的类型,用fittype创建拟合模型.至于matlab具体提供了哪些模型,参见帮助"List of library models for curve and surface fitting" ft = fittype( 'gauss1' ); %高斯拟合 2.要拟合的数据格式 在最简单的情况下,即拟合两个向量X,Y,则其必须是列向量 3.拟合 使用fit进行拟合 fitresult= fit( xData, yData, ft,

MATLAB 中文论坛相关帖子整理

说明: 本资料所有问题及代码均摘选自matlab中文论坛(www.ilovematlab.cn),主要供自己学习使用. 非常感谢论坛的所有提出以及解答问题的会员. 目   录 1.GUI新手之--教你读懂GUI的M文件... 10 2.GUI程序中改变current directory引起的问题... 15 3.GUI中h0bject和handles 的区别... 16 4.handles结构中句柄和对象的关联问题... 17 5.Matlab利用定时器连续显示图片的问题... 19 5-1.G