Добавил:
Yanus
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:gumen_kurs / progr / Generator of function / gen_fun
.cpp#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#include <math.h>
#include <iostream.h>
#define n 500 // MAX количество точек апроксимации начальной функции плотности
void main (void)
{
float tmp; // временная переменная
//-- Величина прирощения функции
int mashtab=150; // !!!!варьировать осторожно!!! м.б. пустой массив
float shag_izmen=0.001f; // шаг изменения значения св
float y_min=0; // минимальное значение св
float y_real; // текущее значение св
int i=0; // счетчик итераций
int j=0; // счетчик итераций
float mas_y[2][n]; // массив значений функции плотности и её переменной
float mas_bsv[n];// массив значений БСВ
FILE *f1;
srand((unsigned)time(NULL));
//--- Генерция БСВ ---
for (i=0, tmp=0; i<n; i++)
{
tmp=(float)(rand()%100);
tmp/=99;
mas_bsv[i]=tmp;
}
//--- Конец генерции БСВ ---
//--- Генерация функции плотности по точкам апроксимации ---
for (i=0, y_real=y_min, tmp=0; i<n; i++, y_real+=shag_izmen) {
tmp=(float)(rand()%100);
tmp/=mashtab;
mas_y[0][i]=y_real;
if (i==0) {
mas_y[1][i]=0;
} else {
if ((mas_y[1][i-1]-tmp)<0.00000001) { // делаем вероятность неотрицательной
mas_y[1][i]=mas_y[1][i-1]+tmp;
} else {
if (mas_bsv[i]>0.50){ // делаем равновероятностным возрастание или убывание функции
mas_y[1][i]=mas_y[1][i-1]+tmp;
} else {
mas_y[1][i]=mas_y[1][i-1]-tmp;
}
}
}
}
//--- Конец генерации функции плотности ---
//--- Вывод в файл file1.txt -------------------------------------
//----------------------------------------------------------------
//-- Первый столбец = значения случайной величины --
//-- Второй столбец = вероятность этой сл. величины --
//----------------------------------------------------------------
if((f1=fopen("file1.txt","w+"))==NULL) {
printf("NO!!!\n");
} else {
for(i=0; i<n; i++) {
fprintf(f1,"%f %f\n",mas_y[0][i],mas_y[1][i]);
}
fclose(f1);
}
//--- Конец вывода в файл file1.txt ------------------------------
}
Соседние файлы в папке Generator of function