【重新定义matlab强大系列八】利用matlab求局部值(函数islocalmax求局部最大值+函数islocalmin求局部最小值)

news2024/10/7 12:23:49

🔗 运行环境:Matlab

🚩 撰写作者:左手の明天

🥇 精选专栏:《python》

🔥  推荐专栏:《算法研究》

#### 防伪水印——左手の明天 ####

💗 大家好🤗🤗🤗,我是左手の明天!好久不见💗

💗今天开启新的系列——重新定义matlab强大系列💗

📆  最近更新:2023 年 05 月 21 日,左手の明天的第 284 篇原创博客

📚 更新于专栏:matlab

#### 防伪水印——左手の明天 ####


 🥇matlab交互式任务 

求局部极值任务以交互方式求数据的局部最大值和局部最小值。该任务会自动为实时脚本生成 MATLAB代码。

使用此任务,可以:

  • 对工作区变量所包含的数据求局部最大值、局部最小值或两者。

  • 调整参数以找到更少或更多的极值。

  • 可视化检测到的极值。

要在 MATLAB 编辑器中将求局部极值任务添加到实时脚本中,请执行以下操作:

  • 实时编辑器选项卡中,选择任务 > 求局部极值

  • 在脚本的代码块中,键入相关关键字,例如 extrema 或 find。从建议的命令自动填充项中选择求局部极值。 

🥇islocalmin-计算局部最小值

(1)语法

当在 A 的对应元素中检测到局部最小值时,TF = islocalmin(A) 将返回元素为 1 (true) 的逻辑数组。

TF = islocalmin(A,dim) 指定要沿其进行运算的 A 的维度。例如,islocalmin(A,2) 求矩阵 A 中每行的局部最小值。

TF = islocalmin(___,Name,Value) 可在前面语法中的任意输入参数组合外使用一个或多个名称-值参数来指定其他用于求局部最小值的参数。例如,islocalmin(A,'SamplePoints',t) 计算 A 相对于时间向量 t 中包含的时间戳的局部最小值。

[TF,P] = islocalmin(___) 还返回与 A 的每个元素对应的相对高差。

局部最小值的相对高差

局部最小值(或波谷)的相对高差根据该波谷相对其他波谷的深度和位置衡量其突出程度。

要测量一个波谷的相对高差,首先从该波谷延伸一条水平线。找出这条直线与左右两侧数据的交点,交点应为另一波谷或数据的端点。将这些位置标记为左右区间的外部端点。然后找出左右区间内的最高波峰。取这两个波峰的较小值,测量从该波峰到波谷的垂直距离。此距离就是相对高差。

对于向量 x,最大相对高差不超过 max(x)-min(x)

(2)示例

向量中的局部最小值

计算并绘制数据向量的局部最小值。

x = 1:100;
A = (1-cos(2*pi*0.01*x)).*sin(2*pi*0.15*x);
TF = islocalmin(A);
plot(x,A,x(TF),A(TF),'r*')

矩阵行中的最小值

创建一个数据矩阵,然后计算每一行的局部最小值。

A = -25*diag(ones(5,1)) + rand(5,5);
TF = islocalmin(A,2)

TF = 5x5 logical array

   0   0   0   1   0
   0   1   0   0   0
   0   0   1   0   0
   0   0   0   1   0
   0   0   1   0   0

相隔最小值

计算数据向量相对于向量 t 中的时间戳的局部最小值。使用 MinSeparation 参数计算相隔至少 45 分钟的最小值。

t = hours(linspace(0,3,15));
A = [2 4 6 4 3 7 5 6 5 10 4 -1 -3 -2 0];
TF = islocalmin(A,'MinSeparation',minutes(45),'SamplePoints',t);
plot(t,A,t(TF),A(TF),'r*')

最小值平台区

指定用于指示连续最小值的方法。

计算包含连续最小值的数据的局部最小值。指示每个平台区的第一个最小值。

x = 0:0.1:5;
A = max(-0.75, sin(pi*x));
TF1 = islocalmin(A,'FlatSelection','first');
plot(x,A,x(TF1),A(TF1),'r*')

指示每个平台区的所有最小值。

TF2 = islocalmin(A,'FlatSelection','all');
plot(x,A,x(TF2),A(TF2),'r*')

突出最小值

计算数据向量的局部最小值和相对高差,然后用数据绘图。

x = 1:100;
A = peaks(100);
A = A(50,:);
[TF1,P] = islocalmin(A);
P(TF1)

ans = 1×2

    2.7585    1.7703

plot(x,A,x(TF1),A(TF1),'r*')
axis tight

通过指定最小相对高差要求,计算数据中最突出的最小值。

TF2 = islocalmin(A,'MinProminence',2);
plot(x,A,x(TF2),A(TF2),'r*')
axis tight

🥇islocalmax-计算局部最大值

(1)语法

当在 A 的对应元素中检测到局部最大值时,TF = islocalmax(A) 将返回元素为 1 (true) 的逻辑数组。

TF = islocalmax(A,dim) 指定要沿其进行运算的 A 的维度。例如,islocalmax(A,2) 计算矩阵 A 的每一行的局部最大值。

TF = islocalmax(___,Name,Value) 可在前面语法中的任意输入参数组合外使用一个或多个名称-值参数来指定其他用于求局部最大值的参数。例如,islocalmax(A,'SamplePoints',t) 根据时间向量 t 中包含的时间戳计算 A 的局部最大值。

[TF,P] = islocalmax(___) 还返回与 A 的每个元素对应的相对高差。

(2)示例

向量中的局部最大值

计算并绘制数据向量的局部最大值。

x = 1:100;
A = (1-cos(2*pi*0.01*x)).*sin(2*pi*0.15*x);
TF = islocalmax(A);
plot(x,A,x(TF),A(TF),'r*')

矩阵行中的最大值

创建一个数据矩阵,然后计算每一行的局部最大值。

A = 25*diag(ones(5,1)) + rand(5,5);
TF = islocalmax(A,2)

TF = 5x5 logical array

   0   0   1   0   0
   0   1   0   0   0
   0   0   1   0   0
   0   1   0   1   0
   0   1   0   0   0

相隔最大值

计算数据向量相对于向量 t 中的时间戳的局部最大值。使用 MinSeparation 参数计算相隔至少 45 分钟的最大值。

t = hours(linspace(0,3,15));
A = [2 4 6 4 3 7 5 6 5 10 4 -1 -3 -2 0];
TF = islocalmax(A,'MinSeparation',minutes(45),'SamplePoints',t);
plot(t,A,t(TF),A(TF),'r*')

最大值平台区

指定用于指示连续最大值的方法。

计算包含连续最大值的数据的局部最大值。指示每个平台区的第一个最大值。

x = 0:0.1:5;
A = min(0.75, sin(pi*x));
TF1 = islocalmax(A,'FlatSelection','first');
plot(x,A,x(TF1),A(TF1),'r*')

指示每个平台区的所有最大值。

TF2 = islocalmax(A,'FlatSelection','all');
plot(x,A,x(TF2),A(TF2),'r*')

突出最大值

根据相对高差选择最大值。

计算数据向量的局部最大值和相对高差,然后用数据绘图。

x = 1:100;
A = peaks(100);
A = A(50,:);
[TF1,P] = islocalmax(A);
P(TF1)


ans = 1×2

    1.7703    3.5548
plot(x,A,x(TF1),A(TF1),'r*')
axis tight

通过指定最小相对高差要求,仅计算数据中最突出的最大值。

TF2 = islocalmax(A,'MinProminence',2);
plot(x,A,x(TF2),A(TF2),'r*')
axis tight


 #### 防伪水印——左手の明天 ####

💗 大家好🤗🤗🤗,我是左手の明天!好久不见💗

💗今天开启新的系列——重新定义matlab强大系列💗

📆  最近更新:2023 年 05 月 21 日,左手の明天的第 284 篇原创博客

📚 更新于专栏:matlab

#### 防伪水印——左手の明天 ####

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/552132.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

三控开关接线方式记录

参考原视频 三控开关与双控开关的多种接法,多控开关的工作原理_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1Qh4y1J7gC/?spm_id_from333.337.search-card.all.click&vd_sourcee821a225c7ba4a7b85e5aa6d013ac92e原视频讲的不错,大家可以关…

国内好用的免费AI处理工具:Chat8(实现类似ChatGPT功能、TCP/IP通讯问题)

目前国外的ChatGPT比较火,朋友推荐了一个chat8,经过使用,觉得还不错,链接如下: https://ai.chat86.co/go/kl/775283,进去后可以直接用手机注册使用,以下是我问其关于TCP/IP的对话过程&#xff0…

(转载)从0开始学matlab(第11天)—关系运算符和逻辑运算符

选择结构的运算由一个表达式控制的,这个表达式的结果只有 true(1) 和 false(0)。有两种形式的运算符可以在 MATLAB 中关系得到 true/false:关系运算符和逻辑运算符。跟 C 语言一样, MATLAB 没有布尔型和逻辑数据类型。 MATLAB 把 0 …

模块一:k8s集群部署与安全配置

模块一:k8s集群部署与安全配置 目录 1、K8s安全运维概述 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PST6trat-1684674016197)(https://bucket-hg.oss-cn-shanghai.aliyuncs.com/img/1665822875941-73d822c8-7bdd-481c-acc1-df97b70c…

python爬虫实战——小说爬取

python爬虫实战——小说爬取 基于requests库和lxml库编写的爬虫,目标小说网站域名http://www.365kk.cc/,类似的小说网站殊途同归,均可采用本文方法爬取。 目标网站:传送门 本文的目标书籍:《我的师兄实在太稳健了》…

软件设计师第4题

首先,我是备考2023年上半年的考试。 一、历年考试题 历年的考题如下,从表中分析可以看出,动态规划法、排序算法、回溯法、分治法是很大概率考察的算法,尤其是动态规划法,本身其理解难度较高,且可以出的题型…

docker:容器的数据卷

1 数据卷概念及作用 1.1 什么是容器数据卷 先来看看Docker的理念: 将应用与运行的环境打包形成容器运行 ,运行可以伴随着容器,但是我们对数据的要求希望是持久化的容器之间希望有可能共享数据 Docker容器产生的数据,如果不通过…

什么是人工智能的知识图谱?知识图谱的组成、构建、应用有哪些?

人工智能(Artificial Intelligence,AI)是一种通过计算机模拟人类智能的技术,其应用范围越来越广泛。知识图谱(Knowledge Graph,KG)则是人工智能技术中的重要组成部分,它是一种结构化…

Redis集群安装之主从集群

1.主从集群 Redis有三种集群模式,分别是:主从模式、哨兵模式、Cluster模式。Rdis最开始使用主从模式做集群,若master宕机需要手动配置slave转为master;后来为了高可用提出来哨兵模式,该模式下有一个哨兵监视master和s…

TCP实现HTTP服务

在之前的篇章中我们已经讲过七层参考模型了,今天我们从传输层实现应用层http服务 使用nodejs原生net模块就可以打通TCP传输层并且提供一个端口号进行监听 创建一个TCP服务 import net from netconst server net.createServer((socket) > {socket.on(data, (da…

【路径规划】基于人工蜂群算法的栅格法路径规划 机器人路径规划【Matlab代码#23】

文章目录 【可更换其他算法,获取资源请见文章第6节:资源获取】1. 原始ABC算法2. 机器人路径规划环境创建3. 路径规划模型建立4. 部分代码展示5. 仿真结果展示6. 资源获取 【可更换其他算法,获取资源请见文章第6节:资源获取】 1. 原…

【实时性】实时性优化的一些参数设置和心得

博主未授权任何人或组织机构转载博主任何原创文章,感谢各位对原创的支持! 博主链接 本人就职于国际知名终端厂商,负责modem芯片研发。 在5G早期负责终端数据业务层、核心网相关的开发工作,目前牵头6G算力网络技术标准研究。 博客…

Deformable DETR 论文学习

1. 解决了什么问题? DETR 去除了目标检测算法中的人为设计,取得了不错的表现。但是其收敛速度很慢,对低分辨率特征识别效果差: 模型初始化时,注意力模块给特征图上所有的像素点分配的权重是均匀的,就需要…

chatgpt赋能Python-python5的阶乘

Python5的阶乘介绍 Python是一门广泛应用于编写脚本、自动化、爬虫、数据分析等方面的编程语言,也是很多科研领域使用的首选。Python的功能和灵活性可以帮助用户解决各种问题,而本文要介绍的是Python中计算阶乘的方法。 阶乘是数学中的一个概念&#x…

fullter 学习记录_01_插件整理

flutter学习记录第一节--搭建项目及路由的设置 1.轮播图: flutter_swiper1.1 用处1.2 导入flutter_swiper库1.3 导入库,运行后可能遇到的问题1.4 属性说明1.5 代码案例 2. flutter_screenutil2.1 用处2.2 引用2.3 使用说明2.4 代码实现按理2.5 ScreenUtl 的封装 1.轮…

UNIX环境高级编程——守护进程

13.1 引言 守护进程(daemon)是生存期长的一种进程。它们常常在系统引导装入时启动,仅在系统关闭时才终止。因为它们没有控制终端,所以说它们是在后台运行的。 13.2 守护进程的特征 系统进程依赖于操作系统实现。父进程ID为0的各…

xxs跨站之原理分类及攻击手法

xss跨站达到原理&#xff0c;危害和特点 他和语言没有太大关系&#xff0c;它大部分都是属于一个前端的漏洞&#xff0c;搭建一个简易的php网站存在xss跨站漏洞 访问这个网站&#xff0c;x1&#xff0c;就输出1&#xff0c; 如果我们把x<script>alert(1)</script&g…

系统分析师考试之论文框架

系统分析师考试之论文框架 系统分析师考试之论文框架

SpringBoot—常用注解

目录 一、注解(annotations)列表 二、注解(annotations)详解 三、JPA注解 四、springMVC相关注解 五、全局异常处理 一、注解(annotations)列表 SpringBootApplication&#xff1a; 包含了ComponentScan、Configuration和EnableAutoConfiguration注解。其中ComponentScan…

linux 读写锁 pthread_rwlock

专栏内容&#xff1a;linux下并发编程个人主页&#xff1a;我的主页座右铭&#xff1a;天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物&#xff0e; 目录 前言 概念介绍 应用场景 接口说明 头文件 rwlock定义 初始化/销毁 两种初始化方…