MATLAB曲线拟合

http://blog.sina.com.cn/s/blog_5db2286f0100enlo.html

MATLAB软件提供了基本的曲线拟合函数的命令:

多项式函数拟合:  a = polyfit(xdata,ydata,n)

其中n表示多项式的最高阶数,xdata,ydata 为要拟合的数据,它是用数组的方式输入。输出参数a为拟合多项式y = a1xn + … + anx + an+1的系数a = [a1, …, an, an+1]。

多项式在x处的值y可用下面程序计算。

y = polyval (a, x)

一般的曲线拟合:  p = curvefit(‘Fun’,p0,xdata,ydata)

其中Fun表示函数Fun (p, xdata)的M-文件,p0表示函数的初值。curvefit命令的求解问题形式是:

min{p}  sum {(Fun (p, xdata)-ydata).^2}

若要求解点x处的函数值可用程序f = Fun(p, x) 计算。

例如已知函数形式 y = abx + c– dx ,并且已知数据点(xi, yi), i = 1,2,…, n,要确定四个未知参数a, b, c, d

使用curvefit命令,数据输入xdata = [x1,x2, …, xn]; ydata = [y1,y2, …, yn];初值输入p0 = [a0,b0,c0,d0]; 并且建立函数y = abx + c– dx的M-文件(Fun.m)。若定义p1 = a, p2 = b, p3 = c, p4d , 则输出p = [p1, p2, p3, p4]。

引例求解:

t=[1:16];  %数据输入

y=[4 6.4 8 8.4 9.28 9.5 9.7 9.86 10 10.2 10.32 10.42 10.5 10.55 10.58 10.6];

plot(t,y,'o')  %画散点图

p=polyfit(t,y,2)  (二次多项式拟合)

计算结果:

p =  -0.0445    1.0711    4.3252   %二次多项式的系数

从而得到某化合物的浓度y与时间t的拟合函数:

y = 4.3252+1.0711t  0.0445t2

对函数的精度如何检测呢?仍然以图形来检测,将散点与拟合曲线画在一个画面上。参见图2。

xi=linspace(0,16,160);

yi=polyval(p,xi);

plot(x,y,'o',xi,yi)

由此看出上述曲线拟合是比较吻合的。

<![endif]>

在MATLAB的NAG Foundation Toolbox中也有一些曲面拟合函数,如e02daf,e02cf,e02def可分别求出矩形网格点数据、散点数据的最小平方误差双三次样条曲面拟合,e02def等可求出曲面拟合的函数值。

[ZZ] MATLAB曲线拟合的更多相关文章

  1. 关于matlab曲线拟合的问题

    matlab 曲线拟合工具箱,app->curve fitting 可以使用generate直接产生代码,生成的是函数 该函数直接返回的结果为cfit格式,直接读取不了,网上有网友说可以采用y ...

  2. MATLAB曲线拟合

    转自原文 MATLAB曲线拟合 曲线拟合 实例:温度曲线问题 气象部门观测到一天某些时刻的温度变化数据为: t 0 1 2 3 4 5 6 7 8 9 10 T 13 15 17 14 16 19 2 ...

  3. matlab 曲线拟合小记

    在matlab中经常需要对数据进行曲线拟合,如最常见的多项式拟合,一般可以通过cftool调用曲线拟合工具(curve fit tool),通过图形界面可以很方便的进行曲线拟合,但是有些时候也会遇到不 ...

  4. [zz] MATLAB工具箱介绍

    http://blog.sina.com.cn/s/blog_57235cc701012kfb.html Toolbox工具箱 序号 工具箱 备注   数学.统计与优化   1 Symbolic Ma ...

  5. MATLAB曲线拟合函数

    一.多项式拟合 ployfit(x,y,n) :找到次数为 n 的多项式系数,对于数据集合 {(x_i,y_i)},满足差的平方和最小 [P,E] = ployfit(x,y,n) :返回同上的多项式 ...

  6. matlab 曲线拟合

    曲线拟合(转载:http://blog.sina.com.cn/s/blog_8e1548b80101c9iu.html) 补:拟合多项式输出为str 1.poly2str([p],'x') 2. f ...

  7. [ZZ] MATLAB中Legend的一些控制方法

    http://www.eetop.cn/blog/html/03/6503-23349.html 如果一个图中我们画了n条曲线,但是我们只想加图例说明(legend)的只有m条 (m<n).网上 ...

  8. [ZZ] matlab中小波变换函数dwt2和wavedec2 系数提取函数appcoef2和detcoef2

    https://zhidao.baidu.com/question/88038464.html DWT2是二维单尺度小波变换,其可以通过指定小波或者分解滤波器进行二维单尺度小波分解. 而WAVEDEC ...

  9. Matlab 曲线拟合之polyfit与polyval函数

    p=polyfit(x,y,n) [p,s]= polyfit(x,y,n) 说明:x,y为数据点,n为多项式阶数,返回p为幂次从高到低的多项式系数向量p.x必须是单调的.矩阵s用于生成预测值的误差估 ...

随机推荐

  1. win 10 安装 maven安装包

    学习jenkins 的时候,需要用到maven,第一次搞maven,记录下 一.准备工作,下载 jdk7.0以上版本 win10操作系统 maven安装包  下载地址  如下图 二.解压安装包 我的安 ...

  2. 让虚拟环境解决python多版本并行

    一.安装篇 1.本文操作系统为CentOS7 依赖包(安装时可能还存在其他依赖包,结合报错进行安装) [root@Corre home]# yum install make build-essenti ...

  3. 自学python之路(day1)

    1. 下载和安装Pycharm文本编辑器,解释器Python3 2. 了解python2和python3的不同 如输出中文时,python2需要在代码前加 # -*- encoding:utf-8 - ...

  4. L343 中译英

    爱显摆的人遇事总喜欢标新立异.Showoffs never miss an opportunity to draw attention to themselves by some outrageous ...

  5. 利用div+css实现九宫格,然后用js实现点击每个格子可以随机更改格子(div)的背景颜色

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. 第一次 刷 WiFi 模块esp8266 感谢创客阿正

    在正哥指导下 第一次 刷 WiFi 模块  少走了 不少弯路 套件里的 两块 机智云  ==== 我的电脑 需要单独供电 先 对应 接好 ic0要记得接gnd 等待上电时要断电重启 等  用助手 返回 ...

  7. Map、Set、List区别

    转:https://www.cnblogs.com/jing99/p/6947549.html 提到集合之前,先说说数组Array和集合的区别:   (1)数组是大小固定的,并且同一个数组只能存放类型 ...

  8. list quen队列

    队列特性:先进先出 stack 栈先进后出 push() 输入 pop()输出 set接口 collectonjiek list接口:可重复集(可以用下标取值) set接口:不可重复集(没下标) Ha ...

  9. WEBBASE篇: 第十篇, JavaScript知识5

    JavaScript知识5 <!doctype html> <html lang="en"> <head> <meta charset=& ...

  10. shell中的函数、数组、报警系统脚本

    1.shell中的函数 函数就是把一段代码整理到了一个小单元中,并给这个小单元起一个名字,当用到这段代码时直接调用这 个小单元的名字即可.格式: function f_name() {commond} ...