В качестве исходных данных для программы взять стандартно нормально распределенную выборку - C (СИ)
Формулировка задачи:
Мне нужно в качестве исходных данных для программы взять стандартно нормально распределенную выборку, около 500 значений. Как это сделать? Как их выбрать?
Решение задачи: «В качестве исходных данных для программы взять стандартно нормально распределенную выборку»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> #include <conio.h> #include <math.h> #define N 20 #define PI 3.1415926535897932 #define P (1 / sqrt(2 * PI)) int main(int argc, char* argv[]) { double X[N] = { 0 }; for (int t = 0; t < N; t++) { bool found = false; double rv = (double)rand() / RAND_MAX; for (int j = t - 1; j >= 0 && !found; j--) found = (X[j] == rv) ? 1 : 0; if (found == false) X[t] = rv; } for (int i1 = 0; i1 < N; i1++) printf("X[%d] = %lf\n", i1, X[i1]); printf("\n"); for (int i2 = 0; i2 < N; i2++) { X[i2] = P * exp(-pow(X[i2], 2) / 2); printf("X[%d] = %lf\n", i2, X[i2]); } _getch(); return 0; }
Объяснение кода листинга программы
Код представляет собой программу на языке C, которая выполняет следующие действия:
- Синтез нормального распределения:
В первой части программы используется алгоритм обратного трассирования для генерации 20 случайных чисел, которые следуют нормальному распределению. Переменная
found
используется для проверки, было ли уже сгенерированное числоrv
добавлено в массивX
. Еслиfound
остается равнымfalse
, это означает, чтоrv
не было добавлено, и поэтому оно добавляется в массивX
. - Вывод массива X:
Во второй части программы каждое значение в массиве
X
выводится на консоль. - Вычисление значений P(X):
В третьей части программы для каждого значения в массиве
X
вычисляется значениеP(X)
, которое представляет собой вероятность того, что случайное число следует нормальному распределению. ЗначениеP(X)
выводится на консоль. - Обработка ввода пользователя: В конце программы программа ожидает нажатия клавиши от пользователя, прежде чем завершиться.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д