java 离散极大值_matlab取离散数据图像的极大值与极小值

需求:现实数据都是离散的,有时需要离散数据图像的极大值点集和极小值点集,并用它们绘制原函数的上、下包络线。基于此需求,本文给出matlab的简单实现。

极大值的寻找方式:

函数:findpeaks

使用1:findpeaks(x)

使用2:[top, location1] = findpeaks(x);

效果:找到原始数据x的极大"值"们(top)以及对应的索引(location1)!

极小值的寻找方式:

说明:matlab里没有自带直接的找极小值的函数,可用下面这个小技巧

函数:findpeaks

技巧:findpeaks(-x);

使用:[low, location2] = findpeaks(-x);

效果:把原始数据相当于翻转或乘-1,这样原来的极小值就是极大值!翻转不会改变极小值的索引!

真实数据的实例:

clear ; clc;

x = xlsread('shuju.xlsx');

x = x(1001:1001+1023)';

N = length(x);

fs = 100; % 采样频率 = 1/采样间隔

t = (0:N-1)/fs; % 时间刻度

% 一般只要返回的第2个参数: 极值的索引

[top,location1] = findpeaks(x);

[low,location2] = fi

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值