首页 > 解决方案 > 计算最大值和最小值

问题描述

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

我得到不同的结果为minima=21, maxima = 21, minima=20, maxima = 20, minima=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)= 一个sin(2 π f t)

A=50, t=0.01

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

第 2 波,f=4

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

加法波;波 1 + 波 2

{0, 15, 30, 43, 54, 63, 68, 70, 69, 65, 58, 50, 40, 29, 19, 10, 3, -1, -3, -3, 0, 6, 15, 26, 38, 50, 62, 74, 83, 90, 95, 96, 94, 88, 80, 68, 55, 41, 26, 12, -1, -12, -21, -28, -31, -32, -29, -24, -17, -8, 0, 10, 18, 25, 30, 32, 31, 27, 20, 10, -1, -15, -29, -44, -58, -71, -82, -89, -94, -96, -94, -89, -82, -72, -60, -48, -35, -23, -13, -5, 0, 3, 3, 0, -4, -12, -21, -31, -42, -51, -60, -66, -69, -70, -67, -61, -52, -41, -27, -12, 3, 18, 33, 46, 56, 64, 69, 70, 68, 64, 57, 48, 38, 27, 17, 9, 2, -2, -4, -2, 1, 8, 17, 28, 40, 53, 65, 76, 85, 92, 95, 96, 93, 87, 78, 66, 53, 38, 23, 9, -3, -14, -23, -29, -31, -31, -28, -22, -15, -6, 2, 11, 20, 26, 30, 32, 30, 26, 18, 8, -4, -18, -32, -47, -61, -73, -83, -91, -95, -96, -93, -88, -80, -69, -58, -45, -33, -21, -11, -3, 1, 3, 3, 0, -6, -14, -23, -34, -44, -53, -61, -67, -70, -69, -66, -60, -50, -38, -24, -9, 6, 21, 35, 48, 58, 65, 69, 70, 67, 62, 55, 46, 36, 25, 16, 7, 1, -2, -4, -2, 2, 9, 19, 30, 43, 55, 67, 78, 87, 93, 96, 95, 92, 85, 75, 63, 50, 35, 20, 6, -5, -16, -24, -29, -32, -31, -27, -21, -13, -4, 4, 13, 21, 27, 31, 32, 29, 24, 16, 5, -6, -20, -35, -50, -63, -75, -85, -92, -95, -96, -93, -87, -78, -67, -55, -43, -30, -19, -9, -2, 2, 4, 2, -1, -7, -16, -25, -36, -46, -55, -62, -67, -70, -69, -65, -58, -48, -35, -21, -6, 9, 24, 38, 50, 60, 66, 69, 70, 67, 61, 53, 44, 34, 23, 14, 6, 0, -3, -3, -1, 3, 11, 21, 33, 45, 58, 69, 80, 88, 93, 96, 95, 91, 83, 73, 61, 47, 32, 18, 4, -8, -18, -26, -30, -32, -30, -26, -20, -11, -2, 6, 15, 22, 28, 31, 31, 29, 23, 14, 3, -9, -23, -38, -53, -66, -78, -87, -93, -96, -95, -92, -85, -76, -65, -53, -40, -28, -17, -8, -1, 2, 4, 2, -2, -9, -17, -27, -38, -48, -57, -64, -68, -70, -69, -64, -56, -46, -33, -18, -3, 12, 27, 41, 52, 61, 67, 70, 69, 66, 60, 51, 42, 31, 21, 12, 4, 0, -3, -3, 0, 5, 13, 23, 35, 48, 60, 72, 82, 89, 94, 96, 94, 89, 82, 71, 58, 44, 29, 15, 1, -10, -20, -27, -31, -32, -30, -25, -18, -10, 0, 8, 17, 24, 29, 32, 31, 28, 21, 12, 1, -12, -26, -41, -55, -68, -80, -88, -94, -96, -95, -90, -83, -74, -62, -50, -38, -26, -15, -6, 0, 3, 3, 1, -3, -10, -19, -29, -40, -50, -58, -65, -69, -70, -68, -63, -54, -43, -30, -15, 0}

在此处输入图像描述

标签: cmathstatistics

解决方案


推荐阅读