微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

计算最大值和最小值

如何解决计算最大值和最小值

我想计算以下信号的局部最小值和最大值。我尝试了不同的逻辑,但得到了不同的结果。跟随信号的最小值和最大值是多少?如何计算?

我得到了不同的结果,如 minima=21,maxima = 21minima=20,maxima = 20minima=20,maxima = 21。相同的正确答案是什么?

逻辑A:

uint16_t maxima_count = 0;
uint16_t minima_count = 0;

if (p_data[0] > p_data[1])
{
    // Condition for local maxima
    maxima_count += 1;
}
else if (p_data[0] < p_data[1])
{
    // Condition for local minima
    minima_count += 1;
}

for (uint16_t i = 1; i < data_len - 1; i++)
{
    if ((p_data[i - 1] > p_data[i]) && (p_data[i] < p_data[i + 1]))
    {
        // Condition for local minima
        minima_count += 1;
    }
    else if ((p_data[i - 1] < p_data[i]) && (p_data[i] > p_data[i + 1]))
    {
        // Condition for local maxima
        maxima_count += 1;
    }
}

// Checking whether the last point is local maxima,minima or none
if (p_data[data_len - 1] > p_data[data_len - 2])
{
    // Condition for local maxima
    maxima_count += 1;
}
else if (p_data[data_len - 1] < p_data[data_len - 2])
{
    // Condition for local minima
    minima_count += 1;
}

逻辑 B:

uint16_t count = 0;
for (uint16_t i = 1; i < data_len - 1; i++)
{
    if (MAXIMA)
    {
        if (p_data[i - 1] < p_data[i] && p_data[i + 1] < p_data[i])
        {
            count++;
        }
    }
    else if(MINIMA)
    {
        if (p_data[i - 1] > p_data[i] && p_data[i + 1] > p_data[i])
        {

            count++;
        }
    }
}

编辑:

该波是两个正弦波的相加

y(t)= Asin(2πft)

A=50,t=0.01

wave1:f=1

{0,3,6,9,12,15,18,21,24,26,29,31,34,36,38,40,42,43,45,46,47,48,49,23,5,2,-3,-6,-9,-12,-15,-18,-21,-24,-27,-29,-32,-34,-36,-38,-40,-42,-44,-45,-46,-47,-48,-49,-43,-41,-33,-31,-28,-26,-23,-20,-17,-14,-11,-8,-5,-2,10,13,16,19,27,32,44,41,39,37,35,33,28,20,17,14,11,8,-4,-7,-10,-13,-16,-19,-22,-30,-37,-39,-35,-25,-1,1,4,7,22,25,30,0}

第 2 波,f=4

{0,0}

附加波;波 1 + 波 2

{0,54,63,68,70,69,65,58,50,62,74,83,90,95,96,94,88,80,55,-58,-71,-82,-89,-94,-96,-72,-60,-51,-66,-69,-70,-67,-61,-52,56,64,57,53,76,85,92,93,87,78,66,-73,-83,-91,-95,-93,-88,-80,-53,-50,67,75,-63,-75,-85,-92,-87,-78,-55,-62,-65,60,61,91,73,-76,-57,-64,-68,-56,52,51,72,82,89,71,-90,-74,-54,0}

enter image description here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。