[ZZ] MATLAB曲线拟合
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 = ae - bx + ce – 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 = ae - bx + ce – dx的M-文件(Fun.m)。若定义p1 = a, p2 = b, p3 = c, p4= d , 则输出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曲线拟合的更多相关文章
- 关于matlab曲线拟合的问题
matlab 曲线拟合工具箱,app->curve fitting 可以使用generate直接产生代码,生成的是函数 该函数直接返回的结果为cfit格式,直接读取不了,网上有网友说可以采用y ...
- MATLAB曲线拟合
转自原文 MATLAB曲线拟合 曲线拟合 实例:温度曲线问题 气象部门观测到一天某些时刻的温度变化数据为: t 0 1 2 3 4 5 6 7 8 9 10 T 13 15 17 14 16 19 2 ...
- matlab 曲线拟合小记
在matlab中经常需要对数据进行曲线拟合,如最常见的多项式拟合,一般可以通过cftool调用曲线拟合工具(curve fit tool),通过图形界面可以很方便的进行曲线拟合,但是有些时候也会遇到不 ...
- [zz] MATLAB工具箱介绍
http://blog.sina.com.cn/s/blog_57235cc701012kfb.html Toolbox工具箱 序号 工具箱 备注 数学.统计与优化 1 Symbolic Ma ...
- MATLAB曲线拟合函数
一.多项式拟合 ployfit(x,y,n) :找到次数为 n 的多项式系数,对于数据集合 {(x_i,y_i)},满足差的平方和最小 [P,E] = ployfit(x,y,n) :返回同上的多项式 ...
- matlab 曲线拟合
曲线拟合(转载:http://blog.sina.com.cn/s/blog_8e1548b80101c9iu.html) 补:拟合多项式输出为str 1.poly2str([p],'x') 2. f ...
- [ZZ] MATLAB中Legend的一些控制方法
http://www.eetop.cn/blog/html/03/6503-23349.html 如果一个图中我们画了n条曲线,但是我们只想加图例说明(legend)的只有m条 (m<n).网上 ...
- [ZZ] matlab中小波变换函数dwt2和wavedec2 系数提取函数appcoef2和detcoef2
https://zhidao.baidu.com/question/88038464.html DWT2是二维单尺度小波变换,其可以通过指定小波或者分解滤波器进行二维单尺度小波分解. 而WAVEDEC ...
- Matlab 曲线拟合之polyfit与polyval函数
p=polyfit(x,y,n) [p,s]= polyfit(x,y,n) 说明:x,y为数据点,n为多项式阶数,返回p为幂次从高到低的多项式系数向量p.x必须是单调的.矩阵s用于生成预测值的误差估 ...
随机推荐
- this.$nextTick()作用
当data中的某个属性改变的时候,这个值并不是立即渲染到页面上,而是先放到watcher队列上(异步),只有当前任务空闲的时候才会去执行watcher队列上的任务.所以导致,改变的数据挂载到dom上会 ...
- TSMBIOS
TSMBIOS Object Pascal language (Delphi or Free Pascal). https://github.com/RRUZ/tsmbios
- 服务器tomcat/mysql的一些有关命令
停服务1.“ps -ef|grep java” # 查看tomcat进程id 若下面出现一大串内容,包含有tomcat的目录,前面的四位数的数字就是tomcat应用的进程id 2.“kill -9 进 ...
- 微信小程序 - app.json配置解析
{ "pages": [ "pages/index/index", "pages/logs/logs", "pages/login ...
- 剑指Offer 65. 矩阵中的路径 (回溯)
题目描述 请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径.路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子.如果一条路径经过了矩阵中 ...
- 对lua中__newindex的理解
阅读了文章后用流程图来总结一下 __newindex的规则: a.如果__newindex是一个函数,则在给table不存在的字段赋值时,会调用这个函数.b.如果__newindex是一个table, ...
- 微信小程序测试策略
一.测试前准备(环境搭建) 1.前端页面 微信Web开发者工具安装.授权测试用的微信号可预览和调试小程序... 可参考此文: 微信Web开发者工具-下载.安装和使用图解 2.管理后台 配置内网测试服务 ...
- 原来你是这样的setTimeout
先上代码 console.log("start"); setTimeout(function(){ console.log("Hello"); },200); ...
- 1ubuntu安装虚拟机
安装相关打软件:(qemu-kvm qemu-system是kvm和qemu的核心包,libvirt-bin用于管理kvm,virt-manager图形管理工具,bridge-utils vlan,主 ...
- 第二次Scrum冲刺——Life in CCSU
第二次Scrum冲刺——Life in CCSU 一. 第二次Scrum任务 继续上一次冲刺的内容,这次完成论坛部分. 二. 用户故事 用户输入账号.密码: 用户点击论坛部分: 系统显示帖子: 用户选 ...