![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
![]() Здравствуйте. Вот уже несколько дней ломаю голову над поставленной задачей. В общем: есть значения случайной величины - сэмплы из wav файла. Надо подсчитывать кол-во значений случайной величины, которые попадают в j-ый интервал (N[j]).
Nj - абсолютная частота для j-го интервала; j - номер интервала, j меняется от 1 до m; m - кол-во интервалов; Считается m так: Код:
m:=trunc(3.3*log10(NumSamples)+1); Считается delX так: Код:
delX:=NumSamples / m; NumSamples - кол-во значений случайной величины; С этим все ясно. Вернемся к задаче.. (выделена красным) Для этого надо создать цикл по i , которое изменять от 1 до NumSamples. В цикле проверять, в какой интервал попало i -е значение и при этом изменять соответствующий счетчик - абсолютную частоту. Вот такой у меня цикл для всех операций с сэмплами: Код:
for I := 1 to NumSamples do begin for J := 1 to WavInfo.WaveFormat.nChannels do // так как бывает 2 канала. begin ////////////////////////Здесь все происходит end; end; ![]() Но пока Yj отложим на потом. И на этом я застрял. Не знаю как это все осмыслить и как должно считаться. Как найти Nj??? Еще добавлю, что Nj по количеству должно быть столько же, сколько и m. Пока все. Надеюсь на вашу помощь. Заранее благодарен! Для меня это очень важно.. |
#2
|
||||
|
||||
![]() Цитата:
Цитата:
|
#3
|
|||
|
|||
![]() Цитата:
Можно как-то сделать пример и посмотреть что вышло? И еще - Nj должны быть ТОЛЬКО положительного значения. И их кол-во равняться кол m столбиков. Цитата:
Ниже мой юнит, весь проект нету смысла выкладывать. |
#4
|
||||
|
||||
![]() Цитата:
Цитата:
|
#5
|
|||
|
|||
![]() Цитата:
|
#6
|
|||
|
|||
![]() Ну что, poli-smen, есть идеи?
|