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. Shell test 命令

    Shell中的 test 命令用于检查某个条件是否成立,它可以进行数值.字符和文件三个方面的测试. 数值测试 参数 说明 -eq 等于则为真 -ne 不等于则为真 -gt 大于则为真 -ge 大于等于 ...

  2. windows中obs源码编译的坑

    好用的版本: cmake-3.6.1-win64-x64  +  vs2015  + qt-opensource-windows-x86-msvc2015_64-5.7.0   +   obs-stu ...

  3. WScript与CScript的区别

    WSH有两种形式:一为WScript是一个窗口化的版本:一为CScript是一个命令行的版本.两种版本都可以运行任何脚本.二者之间的区别是,窗口化版本(WScript)使用一个弹出对话框来显示文本输出 ...

  4. 泊爷带你学go -- 反射的经典玩法

    package main import ( "fmt" "reflect" ) type order struct { ordId int customerId ...

  5. spring cloud config git库文件搜索顺序

    spring.cloud.config.server.git.uri只配置到仓库那一层就行了,需要访问仓库的子目录的话就配置spring.cloud.config.server.git.searchP ...

  6. Python成长之路【第二篇】Python基础之数据类型

    阅读目录 简介 1 什么是数据? x=10,10是我们要存储的数据 2 为何数据要分不同的类型 数据是用来表示状态的,不同的状态就应该用不同的类型的数据去表示 3 数据类型 数字(整形,长整形,浮点型 ...

  7. C++入门程序作业3

    /* 输出n位数据的格雷码 The gray code is a binary numeral system where two successive values differ in only on ...

  8. C# 检查数字

    #region 检查数字 public bool IsNumeric(string value) { bool result; try { int x = int.Parse(value); resu ...

  9. Spring - AOP简介与图示

    [1]AOP (Aspect-Oriented Programming, 面向切面编程),是一种新的方法论, 是对传统 OOP(Object-Oriented Programming, 面向对象编程) ...

  10. 常用git操作命令

     查看远程仓库 ->$ git remote -v    如果你本地有一个项目,想把他放到远程git服务器上,那就用上面的命令把项目 add 到远程服务器 ->$ git remote a ...