拟合曲线

polyfit 曲线拟合函数

a=polyfit(X,F,7);    %曲线拟合

输入:X 为所有离散点的横坐标的取值
F 为所有离散点的纵坐标的取值
7 为多项式拟合的最高次数(根据自己需要选择);
输出:a 为拟合曲线后自变量的系数

拟合出多项式后,需要配合使用 polyval 来求出对应因变量的值

Y=polyval(a,X);     %根据拟合的函数得出x对应的因变量的值

输入:a 为拟合出的多项式的系数
X为所有离散点的横坐标的取值;
输出:Y 为根据多项式求解出对应自变量的因变量的值

clear,clc;
I=imread('./ImageLib/DT1.png');I=im2double(I);  %归一化
[h,w,L]=size(I);  %计算图像的大小
I1=0.299*I(:,:,1)+0.587*I(:,:,2)+0.114*I(:,:,3); %计算灰度图,用加权平均法%计算每行的灰度平均值,针对整个图像而言
X=1:1:h;
F_all=sum((I1'))/w;
plot(X,F_all,'o'); %画出平均值曲线图hold on;
[a,~,mu]=polyfit(X,F_all,13);    %曲线拟合 自变量的系数
Y=polyval(a,X,[],mu);     %根据拟合的函数得出x对应的因变量的值
plot(X,Y,'g');

效果图:

查找函数拐点

首先,得明确拐点是啥,数学中定义的拐点是函数凹凸性改变的点;
数学求解原理
(1)求函数 f(x) 的二阶导
(2)二阶导存在且导数为0同时三阶导不为0的点为函数拐点;二阶导不存在的点,其左右边二阶导异号的点也为拐点;

matlab 方法:
diff 差分和近似导数

de2=diff(Y,2);       %拟合曲线的二阶导

输入:Y 待求导函数(matlab中就是一数组,因变量数组)
2 求导阶数(根据需要填写)
输出: de2 对应个点的导数值
ps:diff只是近似求导,实际是求的各点的差分值
如:
一阶导:
de1(1)=Y(2)-Y(1)
de1(2)=Y(3)-Y(2)

de1(i)=Y(i+1)-Y(i)

de1(n-1)=Y(n)-Y(n-1)
二阶导:
de2(1)=de1(2)-de1(1)
de2(2)=de1(3)-de1(2)

de2(i)=de1(i+1)-de1(i)

de2(n-1)=de1(n)-de1(n-1)

%%Y是上例中拟合的曲线,看客自己操作时切记要两段代码合在一起跑
de2=diff(Y,2);       %拟合曲线的二阶导
de3=diff(Y,3);       %拟合曲线的三阶导
rowX=linspace(0,0,h);
for row1=h-3:-1:2if (de2(row1)==0 && de3(row1)~=0)||  (de2(row1)*de2(row1+1)<0)rowX(row1)=1;end
end
plot(X(find(rowX)),Y(find(rowX)),'ob');

查找效果:

matlab曲线拟合方法和函数拐点查找相关推荐

  1. matlab曲线拟合工具箱cftool

    今天意外发现matlab的曲线拟合工具箱cftool,转自http://blog.csdn.net/chenyusiyuan/article/details/1942605,希望以后能用到 一. 单一 ...

  2. 基于最小二乘原理的Matlab曲线拟合

    基于最小二乘原理的Matlab曲线拟合方法介绍 在数据处理等工作中,经常需要对已知数据进行拟合,进而获得更加光滑流畅的曲线.曲线拟合主要基于多项式插值,三次样条曲线插值,最小二乘拟合. 考虑到最小二乘 ...

  3. MATLAB中曲线拟合方法总结(包括对数正态分布函数)

    鉴于最近遇到非线性函数拟合问题,本人对网上有关matlab多种类型的线性.非线性曲线拟合的方法进行了总结,希望对各位朋友有所帮助. 1. Matlab有一个功能强大的曲线拟合工具箱 cftool ,使 ...

  4. matlab 万能,matlab 万能实用的线性曲线拟合方法

    在科学计算和工程应用中,经常会遇到需要拟合一系列的离散数据,最近找了很多相关的文章方法,在这里进行总结一下其中最完整.几乎能解决所有离散参数线性拟合的方法 第一步:得到散点数据 根据你的实际问题得到一 ...

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

    在运行MATLAB编程进行数据的处理过程当中,我们常常用到matlab曲线拟合,但是工具箱由于需要人工交互,得到的拟合结果,需要人工的去提取,再输入,所以,工具箱拟合结果十分不适合调用,以及继续下面的 ...

  6. matlab拟合曲线poly交点,matlab曲线拟合 函数 用法以及例子,看完你就知道了

    在运行MATLAB编程进行数据的处理过程当中,我们常常用到matlab曲线拟合,但是工具箱由于需要人工交互,得到的拟合结果,需要人工的去提取,再输入,所以, 工具箱拟合结果 十分不适合调用,以及继续下 ...

  7. 机器学习(MACHINE LEARNING)MATLAB非线性曲线拟合方法

    文章目录 1 得到散点数据 2 确定函数模型 3 确定选用函数模型中的未知参数 在科学计算和工程应用中,经常会遇到需要拟合一系列的离散数据,最近找了很多相关的文章方法,在这里进行总结一下其中最完整.几 ...

  8. MATLAB从入门到精通:基本矩阵运算-矩阵的基本方法和函数

    以下示例演示了以 MATLAB语言处理矩阵的基本方法和函数. 首先,创建一个名为 a 且包含 9 个元素的简单向量. a = [1 2 3 4 6 4 3 4 5] a = 1×91 2 3 4 6 ...

  9. matlab作动态函数曲线图,[转载]Matlab中使用Plot函数动态画图方法总结

    本帖最后由 sonictl 于 2012-12-31 12:18 编辑 请删除我 清楚超靠靠靠 没办法,一会儿限制这不能发表,那不能发表的.... [转载]Matlab中使用Plot函数动态画图方法总 ...

  10. MATLAB调用C/C++函数的方法

    http://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-9510581626.24.ZO6sko&id=43401674106 精通MATLAB ...

最新文章

  1. Compression Helper Class using SharpZipLib
  2. 科技部通知:先看病,再写论文!!!
  3. 【高性价比】AIO-3288C四核高性能主板
  4. php禁用了所有命令执行的函数 怎么搞,PHP通过bypass disable functions执行系统命令的方法汇总...
  5. DataTables怎么给某一列加上click事件
  6. jmeter+Fiddler:通过Fiddler抓包生成jmeter脚本
  7. idea 自动生成mybaits_IDEA利用mybatis-generator自动生成dao和mapper
  8. 帝国cms+php7.0+mysql_帝国cms切换php7.x登录后台空白解决方法
  9. vs2015环境搭建与简单程序测试
  10. python27的Windows下环境搭建
  11. List集合去重的几种方法
  12. 计算机基础阿春第十一讲,编程天才少年“顾神”,放弃清华保送,被麻省理工全额奖学金挖走...
  13. python中的array函数作用_Python中的numpy常用函数整理
  14. 9.Makefile隐含规则
  15. NYOJ-57-6174问题-2013年6月29日11:58:06
  16. python发送文件_利用python传送文件
  17. 用html写游戏,Html5写一个简单的俄罗斯方块小游戏
  18. 国王学院计算机科学,伦敦大学国王学院计算机科学本科.pdf
  19. CSS 盒子模型(border、padding、margin)
  20. 顶级IT企业 Sign-on Bonus 大比拼

热门文章

  1. 设计一个简单HTML爵士音乐网页(HTML+CSS)
  2. 互联网医疗智能客服平台有什么优势
  3. wpsppt放映时间_wps ppt如何制作时间倒计时
  4. CentOS7安装搜狗输入法
  5. dk 7 linux x64.rpm,linux x64 Java/JDK 11下载 jdk-11.0.7_linux-x64_bin.rpm官方镜像版
  6. 证明您履历表经验的防弹五步法
  7. 时间都去哪了?BPC电波授时信号的“零成本”伪造
  8. 《信条》中国内地IMAX首周末票房表现强劲;洲际集团将在川滇环线新开四家酒店 | 美通企业日报...
  9. 时间序列谐波分析(HANTS)的MATLAB实现
  10. viper4android还用酷狗,听HiFi专业的App,VIPER独占USB源码输出发烧友用过都上瘾