вот так узнаете сколько итераций получается в общем:
///////////////////////////////double Buffer[1000];
// тут присваиваем значения элементам буфера...// // далее находим то что нам нужноint N=20;
double MaxSumm=0;
int IndexFind=0;
int k=0;
for(int i=0; i<ArraySize(Buffer)-N; i++)
{
double Summ=0;
for(int ii=0; ii<N; ii++)
{
int iii=i+ii;
k++;
Summ=Summ+Buffer[iii];
}
if(Summ>MaxSumm)
{
MaxSumm=Summ;
IndexFind=i;
}
}
Alert("Максимальная сумма элементов с "+IndexFind+" элемента в массиве");
Print(k);
Максимум машки с периодом 50 не может быть больше тк максимум будет локализоваться вокруг выброса.
Выброс оттягивает машку в свою сторону, и чем меньше период тем больше влияние выброса на результат.
Вот машка с периодом 44 может быть больше машки с периодом 45, но по условиям задачи 45 наименьший период, а значит отражение выбросов на 45-периодной машке будут наиболее выраженными среди остальных перидов.
Для проверки набросьте на чарт несколько машек с разными периодами и убедитесь что максимумы машек с меньшими периодами выше.
вот так узнаете сколько итераций получается в общем:
А вот так? Итераций будет по размеру буфера
double Buffer[1000];
// тут присваиваем значения элементам буфера...// // далее находим то что нам нужноint N=20;
double MaxSumm=0;
int IndexFind=0;
/// считаем сумму первых N элементовdouble Summ=0;
for(int i=0; i<N; i++)
{
Summ=Summ+Buffer[i];
MaxSumm=Summ;
}
for(int i=1; i<ArraySize(Buffer)-N; i++)
{
Summ=Summ-Buffer[i-1]+Buffer[i+N-1];
if(MaxSumm<Summ){MaxSumm=Summ; IndexFind=i;}
}
Alert("Максимальная сумма элементов с "+IndexFind+" элемента в массиве");
максимум машки с периодом 50 не может быть больше тк максимум будет локализоваться вокруг выброса.
Выброс оттягивает машку в свою сторону, и чем меньше период тем больше влияние выброса на результат.
Вот машка с периодом 44 может быть больше машки с периодом 45, но по условиям задачи 45 наимпеньший период, а значит отражение выбросов на 45-периодной машке будут наиболее выраженными среди остальных перидов.
Для проверки набросьте на чарт несколько машек с разными периодами и убедитесь что максимумы машек с меньшими периодами выше.
Логично подумайте и поймете ошибочность вашего утверждения:
Выберите последовательность не меньше 3 длиной с максимальным средним арифметическим значением { 1, 2, 10 , -1, 4, 3, -3, 10, 1}
Логично подумайте и поймете ошибочность вашего утверждения:
Выберите последовательность не меньше 3 длиной с максимальным средним арифметическим значением { 1, 2, 10 , -1, 4, 3, -3, 10, 1}
Максимальное среднее значение будет будет 4.3... в периоде, последовательность будет длинной 3, данные создающие этот максимум будут { 1, 2, 10} и {10, -1, 4}. 13/3=4.333333
Все остальные вариации дадут меньшее среднее.
ЗЫ кстати если мало данных а длинна периода сопоставима, можно закольцевать буффер чтоб краевые условия не сказывались на результат.
Вот если бы можно было не последовательно высчитывать среднее а на выборочных данных, тогда да, тогда мешки не подходят.
Логично подумайте и поймете ошибочность вашего утверждения:
Выберите последовательность не меньше 3 длиной с максимальным средним арифметическим значением { 1, 2, 10 , -1, 4, 3, -3, 10, 1}
Urain прав. Это как бы и доказывать не требуется. Если разговор о Максимумах, а не текущих значениях... Текущее значение у МА с большим периодом может быть больше Максимума быстрой МА, но это будет не Максимум МА медленной.
Я имел ввиду что-то типа этого:
вот так узнаете сколько итераций получается в общем:
не совсем понял... 45 и 20... опечатка?
Так вот, а зачем вам суммы нескольких первых элементов, количественно меньше ? Сумма первых пяти например, зачем?
Потому я и сделал i<ArraySize(Buffer)-N чтобы не смотреть последние...
Ок. Наверно можно и так.
Кстати, да, в моём примере можно не складывать а отнимать один элемент начальный, и прибавлять следующий в массиве....
Не знаю что быстрее... пробежаться по циклу, или писать ещё в один массив.
количество элементов не имеет значения, автору нужно было не менее 45
ЗЫ: быстрее писать, приобретаем скорость увеличиваем память и наоборот.
не совсем понял... 45 и 20... опечатка?
а вдруг максимум машки с периодом 50 больше?
Вот пример
Максимум машки с периодом 50 не может быть больше тк максимум будет локализоваться вокруг выброса.
Выброс оттягивает машку в свою сторону, и чем меньше период тем больше влияние выброса на результат.
Вот машка с периодом 44 может быть больше машки с периодом 45, но по условиям задачи 45 наименьший период, а значит отражение выбросов на 45-периодной машке будут наиболее выраженными среди остальных перидов.
Для проверки набросьте на чарт несколько машек с разными периодами и убедитесь что максимумы машек с меньшими периодами выше.
вот так узнаете сколько итераций получается в общем:
А вот так? Итераций будет по размеру буфера
А вот так? Итераций будет по размеру буфера
максимум машки с периодом 50 не может быть больше тк максимум будет локализоваться вокруг выброса.
Выброс оттягивает машку в свою сторону, и чем меньше период тем больше влияние выброса на результат.
Вот машка с периодом 44 может быть больше машки с периодом 45, но по условиям задачи 45 наимпеньший период, а значит отражение выбросов на 45-периодной машке будут наиболее выраженными среди остальных перидов.
Для проверки набросьте на чарт несколько машек с разными периодами и убедитесь что максимумы машек с меньшими периодами выше.
Логично подумайте и поймете ошибочность вашего утверждения:
Выберите последовательность не меньше 3 длиной с максимальным средним арифметическим значением { 1, 2, 10 , -1, 4, 3, -3, 10, 1}
количество элементов не имеет значения, автору нужно было не менее 45
ЗЫ: быстрее писать, приобретаем скорость увеличиваем память и наоборот.
Логично подумайте и поймете ошибочность вашего утверждения:
Выберите последовательность не меньше 3 длиной с максимальным средним арифметическим значением { 1, 2, 10 , -1, 4, 3, -3, 10, 1}
Максимальное среднее значение будет будет 4.3... в периоде, последовательность будет длинной 3, данные создающие этот максимум будут { 1, 2, 10} и {10, -1, 4}. 13/3=4.333333
Все остальные вариации дадут меньшее среднее.
ЗЫ кстати если мало данных а длинна периода сопоставима, можно закольцевать буффер чтоб краевые условия не сказывались на результат.
Вот если бы можно было не последовательно высчитывать среднее а на выборочных данных, тогда да, тогда мешки не подходят.
Логично подумайте и поймете ошибочность вашего утверждения:
Выберите последовательность не меньше 3 длиной с максимальным средним арифметическим значением { 1, 2, 10 , -1, 4, 3, -3, 10, 1}