%EXTR finds extrema and zero-crossings

function [indmin, indmax, indzer] = extr(x,t)

%输出为极值点的坐标序号

if(nargin==1)

t=1:length(x);

end

m = length(x);

if nargout > 2

x1=x(1:m-1);

x2=x(2:m);

indzer = find(x1.*x2<0);

if any(x == 0)

iz = find( x==0 );

indz = [];

if any(diff(iz)==1)

zer = x == 0;

dz = diff([0 zer 0]);

debz = find(dz == 1);

finz = find(dz == -1)-1;

indz = round((debz+finz)/2);

else

indz = iz;

end

indzer = sort([indzer indz]);

end

end

d = diff(x);

n = length(d);

d1 = d(1:n-1);

d2 = d(2:n);

indmin = find(d1.*d2<0 & d1<0)+1;

indmax = find(d1.*d2<0 & d1>0)+1;

if any(d==0)

imax = [];

imin = [];

bad = (d==0);

dd = diff([0 bad 0]);

debs = find(dd == 1);

fins = find(dd == -1);

if debs(1) == 1

if length(debs) > 1

debs = debs(2:end);

fins = fins(2:end);

else

debs = [];

fins = [];

end

end

if length(debs) > 0

if fins(end) == m

if length(debs) > 1

debs = debs(1:(end-1));

fins = fins(1:(end-1));

else

debs = [];

fins = [];

end

end

end

lc = length(debs);

if lc > 0

for k = 1:lc

if d(debs(k)-1) > 0

if d(fins(k)) < 0

imax = [imax round((fins(k)+debs(k))/2)];

end

else

if d(fins(k)) > 0

imin = [imin round((fins(k)+debs(k))/2)];

end

end

end

end

if length(imax) > 0

indmax = sort([indmax imax]);

end

if length(imin) > 0

indmin = sort([indmin imin]);

end

end

一键复制

编辑

Web IDE

原始数据

按行查看

历史

matlab中求极值extr,extr.m · A.Star算法组/snowland-itd-matlab - Gitee.com相关推荐

  1. MATLAB中求矩阵非零元的坐标

    MATLAB中求矩阵非零元的坐标: 方法1: index=find(a); [i,j]=ind2sub(size(a),index); disp([i,j]) 方法2: [i,j]=find(a> ...

  2. matlab求曲线极值程序,matlab函数求极值matlab函数求极值.ppt

    matlab函数求极值matlab函数求极值 * * 函数的极值 1.一元函数的极值 函数命令:fminbnd 调用格式:[x,feval,exitflag,output]=fminbnd(fun,x ...

  3. matlab中求矩阵的迹,求Matlab中矩阵的秩和迹

    1.Matlab中求矩阵的秩 >> a = rand(6) a = 0.8147 0.2785 0.9572 0.7922 0.6787 0.7060 0.9058 0.5469 0.48 ...

  4. matlab方程近似求根,第七讲MATLAB中求方程的近似根(解)教学目的学习matlab中求根命令.doc...

    第七讲MATLAB中求方程的近似根(解)教学目的学习matlab中求根命令 第七讲 MATLAB中求方程的近似根(解) 教学目的:学习matlab中求根命令,了解代数方程求根求解的四种方法,即图解法. ...

  5. Matlab中求取置信区域

    Matlab中求取置信区间_warnerchang的博客-CSDN博客_matlab求置信区间一.概率密度函数.累计分布函数.逆累积分布函数在数学中,连续型随机变量的概率密度函数(在不至于混淆时可以简 ...

  6. matlab矩阵按坐标取,在Matlab中获取inlier点的坐标(Get coordinates of inlier points in Matlab)...

    在Matlab中获取inlier点的坐标(Get coordinates of inlier points in Matlab) 我需要找到使用impixel()在对象检测中获得的内部点的像素值. 我 ...

  7. matlab 对话框保持,如何在matlab中创建输入对话框?(How to create Input dialog box in matlab?)...

    如何在matlab中创建输入对话框?(How to create Input dialog box in matlab?) 我想在matlab中创建输入对话框. 我在MATLAB中执行简单的加法运算. ...

  8. matlab 中序列求极值的方法,Matlab中求序列的极值

    我们知道,在Matlab中有专门求序列最大值和最小值的函数,分别是Max 和 Min,但是有时候我们不满足于求整个序列的最值,而是对序列的极值,也就是局部的最值感兴趣.对于解析函 数,这个比较简单,只 ...

  9. matlab中求立方根,MATLAB基础入门

    MATLAB有许多使用方法,但最基本,也是入门时首先要掌握的是MATLAB命令窗口(Command Window)的使用方法. MATLAB命令窗口是用于输入数据,运行MATLAB函数和脚本,并显示结 ...

最新文章

  1. 数据通信技术(十:OSPF特殊区域TOTALLY STUB配置(ZTE))
  2. R可视化ggplot2中绘制趋势线
  3. MATLAB中repmat是什么,在NumPy中,MATLAB的repmat是什么?
  4. 虚拟服务器能加内存吗,虚拟服务器可以加内存吗
  5. HitFilm Pro 12中文版
  6. C#-微信公众平台接口-上传临时素材
  7. 超级计算机预测南方下雪,南方九省即将大雪纷飞?超级计算机:可能性增加,但还没有确定...
  8. Educational Codeforces Round 111 (Rated for Div. 2) E. Stringforces 二分 + 状压dp
  9. 曾隐姓埋名28年,两弹一星元勋于敏逝世
  10. 力扣题目系列:474. 一和零
  11. python 快速排名发包_SEO怎么快速排名?SEO快排发包技术原理是怎么实现的呀?(悬赏5元) - 搜外问答...
  12. PMP考试通关宝典,考生必看
  13. 坦克大战之继承的实现
  14. HTML常用table样式
  15. 计算机快捷键大全截图,电脑截图按什么键?电脑截图的快捷键是什么
  16. 计算机提示无法访问手机tf卡,SD卡无法访问解决教程
  17. 什么蓝牙耳机颜值高?盘点四款高颜值蓝牙耳机
  18. C++实现图像转字符画
  19. 微信小程序的表格table
  20. vs2022安装详细

热门文章

  1. 点线形系列1-计算两点之间的距离
  2. vue中企业微信 wx.onHistoryBack详解:
  3. 电脑开机出现奇怪字符_电脑开机黑屏怎么办出现英文字符
  4. FTP连接时出现“227 Entering Passive Mode” 的解决方法
  5. .net Core WebApi记录
  6. 基于C++的数据结构-1
  7. android华为获取相册,解决华为手机获取相册图片路径为null
  8. HDU4699 Editor
  9. mysql on是什么意思_这SQL语句里的ON 是什么意思啊
  10. python plot坐标轴显示比例一致_绘图,x轴和y轴的比例相同