Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 14.01.2010
Сообщений: 98

Генератор чисел для двусторонего экспоненциального распределения

16.02.2010, 00:09. Показов 1366. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
тогда будем учиться!!
Много уважаемые форумчане. у меня такой вопросик. Я делаю генератор чисел для двусторонего экспоненциального распределения! у меня все вышло практически,только один из линейных графикоф не хочет прорисовываться правильно! я никак немогу понять почему! вот исходник:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
function Expon2: Real;
begin
  Result:=-ln(random);
  if Random<0.5 then Result:=-Result;
end;
if RadioGroup1.ItemIndex=5 then
  begin
      n1:=StrToInt(Edit5.Text);
      SetLength(arr,n1);
      max:=0;
      min:=0;
      for i:=0 to n1-1 do
      begin
        p:=Expon2;
        if p>max then max:=trunc(p+0.99);
        if  p<min then min:=trunc(p-0.99);
        arr[i]:=p;
      end;
   for i:=0 to n1-1 do
          begin
            k:=trunc(abs((arr[i]-min)/(max-min)*m));
            if k>=m then k:=m-1;
           inc(ni[k]);
           end;
      Series1.Clear;
      for i:=0 to n1-1 do
        begin
          Series1.AddXY(i,arr[i],'',clgreen);
        end;
          Series6.Clear;
          Series7.Clear;
          j:=min;
            for i:=0 to m-1 do
              begin
              Series6.AddXY(j,ni[i]/n1*m/(max-min),'',clred);
              Series7.AddXY(j,ni[i]/n1*m/(max-min),'',clwhite);
              j:=j+(max-min)/m;
             end;
             SetLength(arr1,n1);
             Series3.Clear;
                 la:=1;
                begin
                j:=min;
                i:=0;
                repeat
                  arr1[i]:=(la/2)*exp(-la*abs(j));
                  Series3.AddXY(j,arr1[i],'',clred);
                  j:=j+0.1;
                  i:=i+1;
                  until (j>=max)or(i>=n1);
                end;
                  j:=min;
                  l:=0;
            repeat
              x:=0;
              G:=2*la;
              arrd[l]:=1/sqrt(2*pi*G)*exp(-(sqr(j-x)/(2*G)));
              j:=j+0.01;
              l:=l+1;
            until(j>=max);
              j:=0;
              Series4.Clear;
              for i:=0 to l-1 do
          begin
            Series4.AddXY(j,arrd[i],'',clgreen);
            j:=j+0.01;
          end;
         Label6.Caption:= FloatToStr(Round(Log10(n1)*3.32+1))+' (оптимальное)';
   end;
Вот этот график выводиться правильно - Series3.AddXY(j,arr1[i],'',clred);
А вот этот нет - Series4.AddXY(j,arrd[i],'',clgreen);
Если заинтересованы поламать голову, то спрашивайте, отвечу на любой вопрос!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
16.02.2010, 00:09
Ответы с готовыми решениями:

Построить функции гамма-распределения и биномиального распределения в TChart
Вот есть такая вот функция гамма-распределения function RandomGamma(k, a: Extended): Extended;...

Экспоненциальный закон распределения
В 8:30 начинается экзамен в 15:00 заканчивается, время ответа студента экспоненциальный закон мат...

Равномерное, нормальное и экспоненциальное распределение в программе
Есть программа, код напишу ниже, с равномерным распределением,как её же переделать для нормального...

2
Фрилансер
 Аватар для Black Fregat
3709 / 2083 / 567
Регистрация: 31.05.2009
Сообщений: 6,683
16.02.2010, 10:50
Возможно, в строчке 62 должно стоять
Delphi
1
j := min;
1
0 / 0 / 0
Регистрация: 14.01.2010
Сообщений: 98
16.02.2010, 11:09  [ТС]
оооооооооо! спасибки)))))))) весь вечер просидел и не заметил))))))))
а ты оказывается глазастик))))))))))))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.02.2010, 11:09
Помогаю со студенческими работами здесь

Экспоненциальное распределение (перевести из C# в Delphi)
Проблема с переводом в программирование не очень!!! есть такой код на с using System; using...

Как научить программу считывать экспоненциальную форму вещественного числа из строки?
Как научить программу считывать экспоненциальную форму вещественного числа из строки? задача: ...

Сгенерировать последовательности случайных чисел, распределенных по экспоненциальному закону...
Ребят, помогите в делфи решить. Сгенерировать три последовательности по 30 случайных чисел. В...

Сколько в тексте слов, которые являются записью действительных чисел с экспоненциальной частью?
Подскажите пожалуйста! Как реализовать? Сколько в тексте слов, которые являются изображениями...

Ввести число в экспоненциальной форме, через edit
Как ввести число в экспоненциальной форме, через edit?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru