Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.05.2017, 22:16   #21
Мария34
Пользователь
 
Регистрация: 30.04.2017
Сообщений: 40
По умолчанию

я сново ПО поводу гистограммы. Как должен выглядить массив параметров гистограммы реализаций смоделированного непрерывного источника?

То есть насколько я поняла то что вот эти статистические характеристики, которые вычисляются в программе
Код:
program Lab1;
 
const NMAS=1000;
type tMass=array[1..NMAS] of Extended;
 
Procedure Otcenki(const x: tMass;var Mx,Dx:extended);
Var
  i:integer;
Begin
  Mx:=0; Dx:=0;
  For i:=1 to NMAS do Mx:=Mx+x[i];
  Mx:=Mx/NMAS;
  For i:=1 to NMAS do Dx:=Dx+Sqr(x[i]-Mx);
  Dx:=Dx/NMAS;
end;
 
Var
  Mx,Dx:extended;
  MaxVal,MinVal,a,b,r:real;
  x:tMass;
  i :word;
Begin
  Write('a  b:   ');
  ReadLn(a,b);
  Randomize;
  For i:=1 to NMAS do
   begin
    r:=Random;
    x[i]:=a+r*(b-a);
   end;
   MaxVal := x[i];
   MinVal := x[i]; 
   for i:=2 to NMAS do 
     begin 
       if x[i] < MinVal  then  MinVal := x[i];
       if x[i] > MaxVal  then  MaxVal := x[i];
     end;
  Otcenki(x,Mx,Dx);
  Writeln ('Min element is: ', MinVal, ' Max element is: ', MaxVal);
  WriteLn(Mx,Dx,Sqrt(Dx));
  ReadLn;
End.
мне нужно разбить на (10-15 интервалов именно столько по заданию)
Вычисляются оценки статистических характеристик и параметров гистограммы для массива реализаций смоделированного не-прерывного источника, число шагов гистограммы выбирается не более (10…15).

Это типо такого должен быть массив?
Код:
 for i :=0 to 9 do hist[i] := 0 ;
    for i:=1 to NMAS do 
     begin
       n := Trunc((x[i]-2.0)*10.0) ;
       Inc (hist[i])
     end ;
Мария34 вне форума Ответить с цитированием
Старый 25.05.2017, 11:40   #22
Мария34
Пользователь
 
Регистрация: 30.04.2017
Сообщений: 40
По умолчанию

И еще отелось бы спросить, я может что-то доконца не поняла. Но разве в моем случаи должен вычислятся один Х на отрезке?
Мария34 вне форума Ответить с цитированием
Старый 25.05.2017, 14:55   #23
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,536
По умолчанию

Только вот в процедуре Otcenki должно быть
Код:
Dx:=Dx/(NMAS-1) ;
для сумлявающихся отсылаю к :
http://www.kgau.ru/distance/agro_02/...201/02_01.html

Цитата:
Сообщение от Мария34 Посмотреть сообщение
И еще отелось бы спросить, я может что-то доконца не поняла. Но разве в моем случаи должен вычислятся один Х на отрезке?
А вот этот вопрос я не до конца и с самого начала не понял. Переведи ! Кто такой "один Х на отрезке?" Берем каждый элемент массива х и в зависимости от его величины - в какой интервал он укладывается - увеличиваем значение счетчика для этого интервала: столько-то рублей в пачке, столько - соток, столько - долларов
---------------------------------------------------------------
"
- Для нее мой социальный статус выше чем мой статус личностный.
- Переведи !
"
.......................... © "Москва слезам не верит"

Последний раз редактировалось digitalis; 25.05.2017 в 15:01.
digitalis вне форума Ответить с цитированием
Старый 25.05.2017, 15:36   #24
Мария34
Пользователь
 
Регистрация: 30.04.2017
Сообщений: 40
По умолчанию

Цитата:
Сообщение от digitalis Посмотреть сообщение
Переведи ! Кто такой "один Х на отрезке?"
В программе
Код:
Program RavnAB;
Var
  a,b,r,x :real;
  N,i :word;
Begin
  Write(’Задайте границы интервала а и b:’);
  ReadLn(a,b);
  Write(’Количество случайных чисел N:’);
  ReadLn(N);
  Randomize;
  For i:=1 to N do begin
    r:=Random;
    x:=a+r*(b-a);
    WriteLn(’x’,i:5,’=’,x:5:3); {обработка x}
  end;
  WriteLn(’Моделирование завершено’);
End.
Код:
 x[i]:=a+r*(b-a);
подсчитыается икс когда вводим a и b.

Только я вот не поняла в методичке в этом коде тоже подсчитывается этот Х, но там указывается N количество случайных чисел. И там Х разные в зависимости сколько указал N. Но у меня дополнение к заданию сказазано Формируется массив реализаций случайной величины r, распределенной по равномерному закону на интервале от 0 до 1. Для этого используется встроенный датчик случайных чисел. Объем массива J не менее 1000 элементов.
2. В соответствии с заданным вариантом производится моделирование непрерывного ИС с требуемым законом распределения.
И вот я не соображу в чем разница ? я запуталась =(
Мария34 вне форума Ответить с цитированием
Старый 25.05.2017, 18:53   #25
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,536
По умолчанию

Вот что бывает, когда надергаешь исходников из разных источников, не задумываясь. Ведь все ясно написано:
Код:
 For i:=1 to NMAS do
   begin
    r:=Random;
    x[i]:=a+r*(b-a);
   end;
здесь x - имя массива, а x[i] - элемент этого массива. Т.е. собрали вместе NMAS переменных одного типа, назвали эту кучу массив, у всех их фамилия одна: x, а имена разные x[1],x[2]... - как в армии "По порядку номеров рассчитайсь! - первый! второй! ..."
А взятый невесть откуда
Код:
For i:=1 to N do begin
    r:=Random;
    x:=a+r*(b-a);
    WriteLn(’x’,i:5,’=’,x:5:3); {обработка x}
  end;
- это вообще "не от той стенки гвоздь" - сгенерировали переменную, распечатали ее - и амбдец ей, ее значение потеряно навсегда, генерируем следующее, вместо того, чтобы акуратно складывать их в коробочку (массив)
В сообщении #10 type_Oleg советовал :
Цитата:
Когда поймете, что такое массив в Паскале, тогда это для вас будет само собой.
но похоже, его совет - "как пули у виска..."
Странно, неужели понятие массив такое архи-мудренное? У меня племянник, учась в колледже, все добивался: "Дядя Женя, а зачем вообще нужны эти массивы?" Окончил вуз, стал отличным инженером-машиностроителем, дочь его уже в институт пошла, "а зачем вообще нужны эти массивы?" - думаю, не только не стало ясным, а передалось по наследству: уже Аня задает мне этот сакраментальный вопрос

Последний раз редактировалось digitalis; 25.05.2017 в 19:01.
digitalis вне форума Ответить с цитированием
Старый 25.05.2017, 22:57   #26
Мария34
Пользователь
 
Регистрация: 30.04.2017
Сообщений: 40
По умолчанию

Ну зря вы так я до этого конечно плохо понимала что такое массив, но сейчас вы пояснили конкретно.

А что насчет вопроса в 21 посте ? Я сейчас конечно сама попробую разобраться.
Мария34 вне форума Ответить с цитированием
Старый 26.05.2017, 11:02   #27
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,536
По умолчанию

Цитата:
Ну зря вы так я до этого конечно плохо понимала что такое массив, но сейчас вы пояснили конкретно.
Значит, мне от моей матушки передались педагогические гены

Я не вижу вопроса в 21-м посте, который остался бы неотвеченным. Да, гистограмма - это численный массив. Допустим, имеем array [1..10] of real c таким значениями:
0,05 | 0,17 | 0,23 | 0,09 | 0,87 | 0,91 | 0,48 | 0,41 | 0,76 | 0,91
в гистограмме hist: array [0..9] of integer будет : 2 1 1 0 2 0 0 1 1 2

Последний раз редактировалось digitalis; 26.05.2017 в 11:05.
digitalis вне форума Ответить с цитированием
Старый 26.05.2017, 15:19   #28
Мария34
Пользователь
 
Регистрация: 30.04.2017
Сообщений: 40
По умолчанию

Просто никак не соображу, вот я создаю массив array [1..15] of real как в него мне занести те значения которые выводятся выше в коде пост 21? Напрмер теже мин и мах Х.
Мария34 вне форума Ответить с цитированием
Старый 26.05.2017, 16:57   #29
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,536
По умолчанию

Ох, нелегкая это работа... Хорошо, что я не пошел в преподы.
Что за массив array [1..15] of real, в который надо что-то заносить ? Если это массив гистограммы, то он целочисленный hist: array [0..9] of integer - что не 15, а 10 интервалов разбиения - это не страшно ? Если страшно, тогда [0..14] . Как его заполнять - в моем посте #21 описано, никакие
Цитата:
мин и мах Х
в него записывать не надо, он заполняется путем +1. Только обшибся малость : вместо
Код:
Inc (hist[i])
надо
Код:
 Inc (hist[n])

Последний раз редактировалось digitalis; 26.05.2017 в 22:44.
digitalis вне форума Ответить с цитированием
Старый 26.05.2017, 23:42   #30
Мария34
Пользователь
 
Регистрация: 30.04.2017
Сообщений: 40
По умолчанию

Ну вот тут написано
Цитата:
Для построения гистограммы весь интервал значений от xmin до xmax разбивается на N равных частей xj. Далее, подсчитывается число попавших в каждый интервал реализаций Q(xj). Подсчитываются вероятности попадания реализаций в каждый интервал
Это и есть этот массив?
Код:
 for i :=0 to 14 do hist[i] := 0 ;
    for i:=1 to NMAS do 
     begin
       n := Trunc((x[i]-2.0)*10.0) ;
       Inc (hist[n])
     end ;
Мария34 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найти значение случайной величины по методу Монте-Карло Вероника99 Помощь студентам 0 13.07.2016 19:41
математическое ожидание для дискретной случайной величины Делфи 7 программирование Помощь студентам 2 10.10.2013 21:39
Нормальный (Гауссовский) закон распределения VOVA-74 C++ Builder 0 19.02.2013 18:33
закон распределения Эрланга. Lenr88 Паскаль, Turbo Pascal, PascalABC.NET 0 13.02.2012 12:56