![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как найти пики в массиве? [D6, D7]
Lem © (2006-09-08 11:45:00)Добрый день! Помогите пожалуйста с поиском максимумов в массиве:
time[i]:array of doble;
ch1[i]: array of doble;
Мне надо находить пики значений в ch1[i] и запоминать значения time[i] при этих пиках. Но прикол в том,что пики ch1[i] разные по величине, но выше 3 (Диапазон значений 0-5,12), и максимальное значение может быть при мноргих i. С виду всё просто, но уменя не складываються вложенные циклы. Пример значений ch1[i]:1.1;1.5;1.3;2.5;2.4;3;2.9;3.8;
4.2;4.5;4.5;4.5;4.5;3.2;2.5;1.1;1.5;3.3;4.8;5.1;5.1;4.8;4.7;5;4.6;4.5;4.1;3.5;2. 8;1.2... Helpnullnull
StriderMan (2006-09-08 12:37:00) [21]
> Думкин © (08.09.06 12:32) [11]
саму производную вычислять не надо, нужно только изменение знака. а знак производной поменяется грубо говоря при смене "возрастания" значения ф-ции на убывание, и наоборот.
dY/dX < 0 меняется на dY/dX > 0. на табличной функции это посчитать можно.
Думкин (2006-09-08 12:33:00) [22]При этом так и не было дано определение пика и в чем были затруднения с вложенными циклами. А посему даже практической задачи пока не озвучено.
Сергей М. (2006-09-08 12:33:00) [23]
> Думкин © (08.09.06 12:21) [8]
"И тут Остапа понесло .." (С)
Думкин (2006-09-08 12:32:00) [24]> StriderMan © (08.09.06 12:27) [10]
Извините, но речь шла о производных и вы потвердили это.
Производные знаете ли тоже для практики.
Я прошу не елозить пло полу - а показать мне производные.
Кто чего оценит - мне по барабану, я хочу увидеть производные. И как вы решали такую же задачу с ИХ помощью. Пока я увидел решение БЕЗ ИХ помощи.
Хотя свести можно - но так и надо показать как. Я вижу как. Но это все-таки другая уже функция - на другом множестве.
Практическая. не люблю технарей. 6(
StriderMan (2006-09-08 12:27:00) [25]
> Думкин © (08.09.06 12:23) [9]
задача чисто практическая, и к топологии отношение имеет весьма опосредованное, т.к. что не надо блистать знанием высшей математики, все равно не оценят.
а практическое решение дано в [6]. С некими оговорками это будет работать вполне сносно.
Думкин (2006-09-08 12:23:00) [26]Впрочем можете не продолжать. Вы упомянули про любые непрерывные функции - этого достаточно.
1. Вы должны показать, что эта функция - непрерывна.
2. Не все непрерывные функции имеют производные. Есть даже функции непрерывные, которые не имеют производных ни в одной точке.
Думкин (2006-09-08 12:21:00) [27]> Сергей М. © (08.09.06 12:19) [7]
> Тоже самое определение, что и для любой другой непрерывной
> ф-ции (не важно как заданной - таблично как у автора или
> аналитически).
>
> Производная - она и в Африке производная)
Так дайте мне определение производной для таблично заданой функции. Умоляю.
Сергей М. (2006-09-08 12:19:00) [28]Если я правильно понял вопрос, то для не слишком большого массива ch1 (но состоящего не менее чем из 3-х элементов, при менее 3-х элементов понятие "пик" теряет смысл):
var
DeltaSign, TmpDeltaSign: TValueSign;
time[i]:array of doble;
ch1[i]: array of doble;
..
DeltaSign := Sign(ch1[1] - ch1[0]);
for i:= 2 to Length(ch1)-1 do begin
TmpDeltaSign := Sign(ch1[i] - ch[i-1]);
if DeltaSign <> TmpDeltaSign then
begin
if TmpDeltaSign <> 0 then
SetLength(lime, Length(Time)+1);
Time[Length(Time)-1] := ch1[i];
DeltaSign := TempDeltaSign;
end;
end;
> Думкин © (08.09.06 12:05) [5]
> Дайте понятие производной для функции определенной на множестве
> с дискретной топологией
Тоже самое определение, что и для любой другой непрерывной ф-ции (не важно как заданной - таблично как у автора или аналитически).
Производная - она и в Африке производная)
Наиль (2006-09-08 12:06:00) [29]Нет необходимости использовать вложеные циклы.
Вводишь переменую N
Проходишь по массиву (1 раз)
и если ch1[i] больше левого и правого соседа и больше 3х, то
Resultat[n]:=time[i]
ResIndex[n]:=i;
inc(n);
Изначально длину массивов Resultat и ResIndex устанавливаешь равной длине ch1. А потом укорачиваешь до N.
Приблизительно так.
Думкин (2006-09-08 12:05:00) [30]1. Пок атолько поток сознания. Ясность надо.
2. > Сергей М. © (08.09.06 11:56) [2]Дайте понятие производной для функции определенной на множестве с дискретной топологией.
Джо (2006-09-08 12:05:00) [31]Сергей М., StriderMan.
Дык, это функцию сначала найти нужно. :)
StriderMan (2006-09-08 12:01:00) [32]Решал такую задачу в дипломе.
Действительно, подход [2]
Сергей М. (2006-09-08 11:56:00) [33]Экстремумы ("пики") ф-ции находятся по смене знака 1-й производной.
Kolan (2006-09-08 11:52:00) [34]Внятно сформулируй когда точка считаеться пиком.