Допомога у написанні освітніх робіт...
Допоможемо швидко та з гарантією якості!

Расчет площі складної то з допомогою методу імітаційного моделювання

РефератДопомога в написанніДізнатися вартістьмоєї роботи

Множество кривих обмежимо полиномами третього порядку, у вигляді те, що полиномы вищого порядку сильно збільшують час обчислення. Причому для наочності рішення предосить порядку «3 ». Процедура вырисовки графіків значень полщадей расчитанных числвым методом і методом імітаційного моделювання залежно від кількості інтерпретацій генератору випадкових чисел. Задание: Розробити програму, що дозволяє… Читати ще >

Расчет площі складної то з допомогою методу імітаційного моделювання (реферат, курсова, диплом, контрольна)

Расчет площі складної то з допомогою методу імітаційного моделирования Логвиненко У.

МОСКОВСКИЙ ДЕРЖАВНИЙ ІНСТИТУТ ЕЛЕКТРОННОЇ ТЕХНИКИ (ТЕХНІЧНИЙ УНИВЕРСИТЕТ) Москва. 1995 г.

Задание: Розробити програму, що дозволяє з допомогою методу імітаційного моделювання розрахувати площа складної постаті, обмеженою згори кривою U=Y1(x), знизу V=Y2(x).

1. Аби вирішити даного завдання застосуємо наступний метод.

Ограничим задану постать прямокутником, боку якого проходят:

через точки максимального і мінімального значення функцій і рівнобіжні осях абсцисс;

через ліву праву граничні точки області визначення аргументу і рівнобіжні осях ординат.

Используя датчик випадкових чисел розігруються координати випадкової точки від цього прямокутника. Перевіряємо потрапляєте точки в задану постать. Знаючи площа прямокутника і ставлення які потрапили точок до загальної кількості розіграних, можна оцінити площа цікавій для нас фигуры.

2. Технічні характеристики об'єкта исследования:

2.1. Діапазон значень параметрів задачи.

Множество кривих обмежимо полиномами третього порядку, у вигляді те, що полиномы вищого порядку сильно збільшують час обчислення. Причому для наочності рішення предосить порядку «3 » .

Коэффициенты полинома обмежимо діапазоном [-100,100] .

Область визначення обмежимо діапазоном [-100,100].

Эти обмеження запроваджені ще наочного виконання завдання, й змінити їх з погляду не сложно.

3. Рішення задачи.

Данная завдання виконане серед Turbo З. Для рішення знадобилося спільне завдання розбити сталася на кілька невеликих завдань (процедур).

А саме окремо (як процедур) було вирішено завдання.

— ввод параметрів; |.

процедура get_poly |.

|.

— повідомлення про помилку при введення; | Файл WINDOW.C.

процедура talkerror |.

|.

— малювання рамки вікна; |.

процедура border |.

— обчислення мінімального і |.

максимального значенні функцій; |.

процедура f_max |.

|.

— обчислення значення полинома в |.

заданої точці; | Файл MATIM.C.

процедура fun |.

|.

— обчислення коренів кубичного |.

рівняння; |.

процедура f_root |.

— обчислення інтеграла численным |.

методом; |.

процедура i_num |.

| Файл F_INTEGER.C.

— обчислення інтеграла з допомогою |.

імітаційного моделювання; |.

процедура i_rand |.

— ініціалізація графічного режиму |.

процедура init |.

|.

— обводка безперервного контуру | Файл DRAFT.C.

процедура f_draft |.

|.

— вырисовка осей координат |.

процедура osi |.

— вырисовки графіків функцій і | Файл DRAFT_F.C.

штрихування заданої площі |.

процедура draft_f |.

— вырисовка графіків обчислення |.

площі в спосіб та виведення | Файл DRAFT_N.C.

таблиці результатів обчислення |.

процедура draft_n |.

Схема алгоритму має вид:

.

4. Опис процедур вживаний у программе.

4.1 Файл WINDOW.C.

4.1.1 Процедура введення параметров.

void get_poly (float *b3,float *b2,float *b1,float *b0, //-коефіцієнти полинома Y1.

fliat *c3,float *c2,float *c1,float *c0, //-коефіцієнти полинома Y2.

float *x1,float *x2, // область визначення [x1,x2].

int *N) // кількість інтерпретацій генератору //випадкових чисел.

4.1.2 Процедура малювання рамки окна.

void border (int sx, int sy, int en, int ey) // малює рамку з координатами лівого верхнього // кута (sx, sy) і координатами правого нижнього // кута (ex, ey).

4.1.3 Процедура повідомлення про помилку при вводе.

void talkerror (void) ;

Процедура подає звуковий сигнал і виводить на екран повідомлення про помилку при вводе.

4.2. Файл MATIM.C.

4.2.1 Процедура обчислення максимального і мінімального значень функцій на заданому интервале.

void f_max (float b3, float b2, float b1, float b0, //-коефіцієнти полинома Y1.

fliat c3, float c2, float c1, float c0, //-коефіцієнти полинома Y2.

float x1, float x2, // область визначення [x1,x2].

float *amin, float *amax) // мінімальне і максимальне значення // функцій.

4.2.2 Процедура обчислення значення полинома у цій точке.

float fun (float b3, float b2, float b1, float b0, //-коефіцієнти полинома.

float x).

Возвращает значення полинома у точці х.

4.2.3 Процедура обчислення коренів кубичного уравнения.

int f_root (float b3, float b2, float b1, float b0, //-коефіцієнти полинома Y1.

fliat c3, float c2, float c1, float c0, //-коефіцієнти полинома Y2.

float x1, float x2, // область визначення [x1,x2].

float e, // точність обчислення корней.

float *k1,float *k2,float *k3) // значення коренів // функцій.

Возвращает кількість дійсних коренів на даному интервале.

4.3. Файл F_INTEGER.C.

4.3.1 Процедура обчислення площі складної постаті численным методом.

float f_num (float b3, float b2, float b1, float b0, //-коэфициенты полинома Y1.

fliat c3, float c2, float c1, float c0, //-коэфициенты полинома Y2.

float x1, float x2) // область визначення [x1,x2].

Вычисляет площа складної фигуры.

4.3.2 Процедура обчислення площі складної постаті з допомогою методу імітаційного моделрования.

float f_(float b3, float b2, float b1, float b0, //-коэфициенты полинома Y1.

fliat c3, float c2, float c1, float c0, //-коэфициенты полинома Y2.

float x1, float x2, // область визначення [x1,x2].

float fmin, float fmax, // мінімальне і забезпечити максимальне значення //функцій цьому интервале.

int n) // кількість інтерпретацій генератору // випадковий чисел.

Вычисляет площа складної то з допомогою методу імітаційного моделирования.

4.4 Файл DRAFT.C.

4.4.1 Процедура ініціалізації графічного режима.

void init (void).

4.4.2 Процедура обведення безперервного контура.

void f_draft (float b0, float b1, float b2, float b3, //-коэфициенты полинома.

float x1, float x2) // область визначення [x1,x2].

4.4.3 Процедура вырисовки осей координат.

void osi (float x1, float x2, // область визначення функций.

float b) // маштабный коэфициент расчитывается за такою формулою.

// b= j — Fmin*(i-j) / (Fmax — Fmin).

// де i, j — задають становище графіка на екрані.

// Fmin, Fmax — мінімальне і забезпечити максимальне значення //функцій цьому интервале.

4.5 Файл DRAFT_F.

4.5.1 Процедура вырисовки графіків функций.

void draft_f (float b3, float b2, float b1, float b0, //-коэфициенты полинома Y1.

fliat c3, float c2, float c1, float c0, //-коэфициенты полинома Y2.

float x1, float x2, // область визначення [x1,x2].

float fmin, float fmax, // мінімальне і забезпечити максимальне значення //функцій цьому интервале.

int k, int і, int l, int j) // координати, що задають становище //графіка на екрані

4.6 Файл DRAFT_N.

4.6.1 Процедура вырисовки графіків значень полщадей расчитанных числвым методом і методом імітаційного моделювання залежно від кількості інтерпретацій генератору випадкових чисел.

void draft_e (float b3, float b2, float b1, float b0, //-коэфициенты полинома Y1.

fliat c3, float c2, float c1, float c0, //-коэфициенты полинома Y2.

float x1, float x2, // область визначення [x1,x2].

float fmin, float fmax, // мінімальне і забезпечити максимальне значення //функцій цьому интервале.

float Sn, // площа розрахована числовим методом.

int k, int і, int l, int j) // координати, що задають становище //графіка на екрані.

4.7 Файл SQ.C.

Все файли об'єднані у головній програмі SQ. C, що є основний рахунок і координує роботу процедур.

5 Використання программы.

Для використання програми необхідна операційна середовище MS DOS,.

файл egavega. bgi, та власне сама скомпільована програма sq.exe.

6 Вихідний текст програми дано при застосуванні № 1.

7 Тесовий приклад показаний при застосуванні № 2.

8.

Заключение

.

Сопоставление результатів роботи з тербованием задания.

Сопоставляя результати своєї роботи з вимогою завдання, можна сказати що завдання виконане повною мірою, крім, бути може спільності про можливість розрахунку для багато класів функцій. Але рішення більш загальній завдання (тобто. можливість розрахунку багатьом класів функцій) представляється значно більше громіздким, і узагалі є окремої завданням. Тому автор не вважав за потрібне розробляти алгоритм введення багатьох функцій і загострив увагу власне самісінькому завданню — розрахунку площі складної то з допомогою методу імітаційного моделювання і порівняння цього методу з числовими методами.

Рекомендации для поліпшення программы.

При розробці програми автор втратив можливість роботи з числовими масивами. Тому, можна поліпшити програму переписавши ряд процедур під масиви, що зробить програму менш масивною і більш наглядной.

1. Мова програмування Сі для персонального комп’ютера. С. О. Бочков, Д. М. Субботин.

2 З++. Опис мови програмування. Бьярн Страустрап.

3 TURBO З. User «p.s Guide. Borland International, Inc. 1988.

4 TURBO З. Reference Guide. Borland International, Inc. 1988.

Для підготовки даної праці були використані матеріали із сайту internet.

Показати весь текст
Заповнити форму поточною роботою