matlab中求极值extr,extr.m · A.Star算法组/snowland-itd-matlab - Gitee.com
%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相关推荐
- MATLAB中求矩阵非零元的坐标
MATLAB中求矩阵非零元的坐标: 方法1: index=find(a); [i,j]=ind2sub(size(a),index); disp([i,j]) 方法2: [i,j]=find(a> ...
- matlab求曲线极值程序,matlab函数求极值matlab函数求极值.ppt
matlab函数求极值matlab函数求极值 * * 函数的极值 1.一元函数的极值 函数命令:fminbnd 调用格式:[x,feval,exitflag,output]=fminbnd(fun,x ...
- 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 ...
- matlab方程近似求根,第七讲MATLAB中求方程的近似根(解)教学目的学习matlab中求根命令.doc...
第七讲MATLAB中求方程的近似根(解)教学目的学习matlab中求根命令 第七讲 MATLAB中求方程的近似根(解) 教学目的:学习matlab中求根命令,了解代数方程求根求解的四种方法,即图解法. ...
- Matlab中求取置信区域
Matlab中求取置信区间_warnerchang的博客-CSDN博客_matlab求置信区间一.概率密度函数.累计分布函数.逆累积分布函数在数学中,连续型随机变量的概率密度函数(在不至于混淆时可以简 ...
- matlab矩阵按坐标取,在Matlab中获取inlier点的坐标(Get coordinates of inlier points in Matlab)...
在Matlab中获取inlier点的坐标(Get coordinates of inlier points in Matlab) 我需要找到使用impixel()在对象检测中获得的内部点的像素值. 我 ...
- matlab 对话框保持,如何在matlab中创建输入对话框?(How to create Input dialog box in matlab?)...
如何在matlab中创建输入对话框?(How to create Input dialog box in matlab?) 我想在matlab中创建输入对话框. 我在MATLAB中执行简单的加法运算. ...
- matlab 中序列求极值的方法,Matlab中求序列的极值
我们知道,在Matlab中有专门求序列最大值和最小值的函数,分别是Max 和 Min,但是有时候我们不满足于求整个序列的最值,而是对序列的极值,也就是局部的最值感兴趣.对于解析函 数,这个比较简单,只 ...
- matlab中求立方根,MATLAB基础入门
MATLAB有许多使用方法,但最基本,也是入门时首先要掌握的是MATLAB命令窗口(Command Window)的使用方法. MATLAB命令窗口是用于输入数据,运行MATLAB函数和脚本,并显示结 ...
最新文章
- 数据通信技术(十:OSPF特殊区域TOTALLY STUB配置(ZTE))
- R可视化ggplot2中绘制趋势线
- MATLAB中repmat是什么,在NumPy中,MATLAB的repmat是什么?
- 虚拟服务器能加内存吗,虚拟服务器可以加内存吗
- HitFilm Pro 12中文版
- C#-微信公众平台接口-上传临时素材
- 超级计算机预测南方下雪,南方九省即将大雪纷飞?超级计算机:可能性增加,但还没有确定...
- Educational Codeforces Round 111 (Rated for Div. 2) E. Stringforces 二分 + 状压dp
- 曾隐姓埋名28年,两弹一星元勋于敏逝世
- 力扣题目系列:474. 一和零
- python 快速排名发包_SEO怎么快速排名?SEO快排发包技术原理是怎么实现的呀?(悬赏5元) - 搜外问答...
- PMP考试通关宝典,考生必看
- 坦克大战之继承的实现
- HTML常用table样式
- 计算机快捷键大全截图,电脑截图按什么键?电脑截图的快捷键是什么
- 计算机提示无法访问手机tf卡,SD卡无法访问解决教程
- 什么蓝牙耳机颜值高?盘点四款高颜值蓝牙耳机
- C++实现图像转字符画
- 微信小程序的表格table
- vs2022安装详细
热门文章
- 点线形系列1-计算两点之间的距离
- vue中企业微信 wx.onHistoryBack详解:
- 电脑开机出现奇怪字符_电脑开机黑屏怎么办出现英文字符
- FTP连接时出现“227 Entering Passive Mode” 的解决方法
- .net Core WebApi记录
- 基于C++的数据结构-1
- android华为获取相册,解决华为手机获取相册图片路径为null
- HDU4699 Editor
- mysql on是什么意思_这SQL语句里的ON 是什么意思啊
- python plot坐标轴显示比例一致_绘图,x轴和y轴的比例相同