Автор работы: Пользователь скрыл имя, 13 Января 2013 в 11:25, курсовая работа
Вычислить многомерные интегралы методом статистических испытаний (методом Монте-Карло) и исследовать влияние кол-ва случайных точек на приближенное значение интеграла для следующих случаев:
1 Задание для исследования 3
2 Описание метода решения 4
3 Результаты исследования 5
4 Сравнение результатов 20
5 Список литературы 21
Приложение А. Текст программы, реализующий исследование. 22
Министерство общего
и профессионального
Российской Федерации
Уральский Государственный Технический Университет – УПИ
Кафедра Технологий и Средств Связи
Исследование метода вычисления многомерного интеграла методом статистических испытаний (метод Монте-Карло)
Отчет по лабораторным работам дисциплины “Информатика”, третий семестр
Студенты:
Группа: Р-226
Преподаватель:
Яковлев Алексей Владимирович
Екатеринбург 2002
СОДЕРЖАНИЕ
Вычислить многомерные интегралы методом статистических испытаний (методом Монте-Карло) и исследовать влияние кол-ва случайных точек на приближенное значение интеграла для следующих случаев:
1. , где G – треугольник с вершинами A(0,0), B(1,0), C(1,1)
2. , где G – криволинейный треугольник, ограниченный параболой y2 = x и прямыми x = 0, y = 1
3. , где G – область интегрирования, ограниченная координатными плоскостями и плоскостью x + y + z = 1
Переменной m задается кратность интеграла. Во всех трех заданиях она равна двум (m = 2).
Образуем m равномерно распределенных на отрезке [0,1] последовательностей случайных чисел вида {xji , i=1,…N} j=1,…m. Это достигается запуском m раз генерации серии N случайных чисел. При m = 1 серия чисел для переменной x. Результаты помещаются в массив Arr1[0][x], где x = 0,…N-1. При m = 2 серия чисел для переменной y. Результаты помещаются в массив Arr1[1][y], где y = 0,…N-1.
Теперь вектор {xjk, j=1,…m} можно рассматривать как k – ю точку в многомерном пространстве, причем мы получили набор из N таких точек, равномерно распределенных в m – мерном единичном кубе. В программе этот вектор выглядит как совокупность точек Arr1[0][k] и Arr1[1][k] (в третьем случае еще и Arr1[2][k]).
Проверяем какое количество точек попало в область G и переносим их в массив Arr2[][];
Вычисляем интеграл по формуле .
Результаты исследований проведенных для интегралов 1, 2 и 3 размещены в Таблица 1, Таблица 2 и Таблица 3 соответственно. Графики отклонения значения интеграла вычисленного при помощи программы от вычисленного алгебраическим способом расположены на Рисунок 1, Рисунок 2 и Рисунок 3 соответственно.
Таблица 1
Общее число случайных точек N |
Число точек попавших в область N - n |
Примерный процент попадания |
Значение интеграла I * 1000 |
100 |
41 |
41 |
207.403866 |
200 |
93 |
46 |
249.003233 |
300 |
156 |
52 |
273.509211 |
400 |
207 |
51 |
280.821664 |
500 |
244 |
48 |
254.370628 |
600 |
292 |
48 |
253.307079 |
700 |
344 |
49 |
257.689679 |
800 |
402 |
50 |
256.937830 |
900 |
458 |
50 |
267.065492 |
1000 |
491 |
49 |
255.008842 |
1100 |
566 |
51 |
272.897840 |
1200 |
601 |
50 |
266.748697 |
1300 |
653 |
50 |
261.251333 |
1400 |
675 |
48 |
251.202605 |
1500 |
754 |
50 |
265.613832 |
1600 |
787 |
49 |
250.716613 |
1700 |
866 |
50 |
268.915162 |
1800 |
902 |
50 |
257.739123 |
1900 |
977 |
51 |
267.125815 |
2000 |
976 |
48 |
254.867523 |
2100 |
1055 |
50 |
259.927658 |
2200 |
1075 |
48 |
258.525011 |
2300 |
1145 |
49 |
258.648328 |
2400 |
1230 |
51 |
265.433003 |
2500 |
1271 |
50 |
266.804737 |
2600 |
1277 |
49 |
259.554555 |
2700 |
1360 |
50 |
264.254899 |
2800 |
1398 |
49 |
261.421030 |
2900 |
1434 |
49 |
260.796848 |
3000 |
1515 |
50 |
263.630659 |
3100 |
1567 |
50 |
265.351419 |
3200 |
1570 |
49 |
256.332938 |
3300 |
1655 |
50 |
262.563380 |
3400 |
1725 |
50 |
264.828277 |
3500 |
1760 |
50 |
263.117395 |
3600 |
1832 |
50 |
268.468701 |
3700 |
1867 |
50 |
262.615953 |
3800 |
1865 |
49 |
254.872287 |
3900 |
1987 |
50 |
269.880944 |
4000 |
2066 |
51 |
272.775151 |
4100 |
2070 |
50 |
266.053828 |
4200 |
2134 |
50 |
269.975126 |
4300 |
2183 |
50 |
267.506783 |
4400 |
2238 |
50 |
267.594811 |
4500 |
2310 |
51 |
269.562820 |
4600 |
2287 |
49 |
259.493372 |
4700 |
2380 |
50 |
266.268629 |
4800 |
2423 |
50 |
264.878567 |
4900 |
2442 |
49 |
261.408421 |
5000 |
2468 |
49 |
257.076286 |
5100 |
2595 |
50 |
267.583400 |
5200 |
2595 |
49 |
260.940391 |
5300 |
2672 |
50 |
265.570021 |
5400 |
2670 |
49 |
257.414136 |
5500 |
2780 |
50 |
263.994676 |
5600 |
2805 |
50 |
260.845007 |
5700 |
2837 |
49 |
260.252879 |
5800 |
2961 |
51 |
267.622718 |
5900 |
2928 |
49 |
259.507351 |
6000 |
2970 |
49 |
257.127703 |
6100 |
3038 |
49 |
259.883721 |
6200 |
3101 |
50 |
263.693106 |
6300 |
3190 |
50 |
267.710452 |
6400 |
3227 |
50 |
266.606365 |
6500 |
3217 |
49 |
257.180913 |
6600 |
3336 |
50 |
264.547720 |
6700 |
3324 |
49 |
258.187469 |
6800 |
3423 |
50 |
262.733722 |
6900 |
3444 |
49 |
260.254433 |
7000 |
3498 |
49 |
261.415696 |
7100 |
3547 |
49 |
261.797441 |
7200 |
3587 |
49 |
262.142195 |
7300 |
3582 |
49 |
256.097748 |
7400 |
3676 |
49 |
259.583091 |
7500 |
3760 |
50 |
261.137750 |
7600 |
3797 |
49 |
259.907472 |
7700 |
3912 |
50 |
266.394003 |
7800 |
3882 |
49 |
260.556222 |
7900 |
4017 |
50 |
267.673791 |
8000 |
3967 |
49 |
261.534573 |
8100 |
4056 |
50 |
261.257409 |
8200 |
4075 |
49 |
261.172113 |
8300 |
4061 |
48 |
253.740389 |
8400 |
4134 |
49 |
258.136390 |
8500 |
4298 |
50 |
266.423749 |
8600 |
4278 |
49 |
260.472465 |
8700 |
4324 |
49 |
260.987507 |
8800 |
4419 |
50 |
264.512611 |
8900 |
4479 |
50 |
264.572287 |
9000 |
4536 |
50 |
265.736818 |
9100 |
4566 |
50 |
262.697992 |
9200 |
4537 |
49 |
256.619907 |
9300 |
4626 |
49 |
259.644424 |
9400 |
4704 |
50 |
263.026951 |
9500 |
4715 |
49 |
260.250086 |
9600 |
4828 |
50 |
264.581779 |
9700 |
4912 |
50 |
266.049804 |
9800 |
4899 |
49 |
262.163817 |
9900 |
4935 |
49 |
259.062990 |
10000 |
5046 |
50 |
265.189058 |
10100 |
5098 |
50 |
265.608309 |
10200 |
5063 |
49 |
258.726989 |
10300 |
5154 |
50 |
262.505089 |
10400 |
5209 |
50 |
261.257873 |
10500 |
5264 |
50 |
262.142404 |
10600 |
5306 |
50 |
260.977459 |
10700 |
5381 |
50 |
262.758637 |
10800 |
5423 |
50 |
263.583218 |
10900 |
5452 |
50 |
261.693717 |
11000 |
5573 |
50 |
266.480081 |
11100 |
5519 |
49 |
258.851087 |
11200 |
5623 |
50 |
262.492439 |
11300 |
5639 |
49 |
258.667850 |
11400 |
5734 |
50 |
262.872686 |
11500 |
5745 |
49 |
260.761650 |
11600 |
5827 |
50 |
263.626567 |
11700 |
5837 |
49 |
261.417878 |
11800 |
5870 |
49 |
258.955604 |
11900 |
5948 |
49 |
260.564901 |
12000 |
5991 |
49 |
259.748383 |
12100 |
6024 |
49 |
260.493650 |
12200 |
6106 |
50 |
261.815553 |
12300 |
6216 |
50 |
265.451078 |
12400 |
6163 |
49 |
257.295625 |
12500 |
6281 |
50 |
262.830611 |
12600 |
6297 |
49 |
262.141706 |
12700 |
6381 |
50 |
261.846046 |
12800 |
6424 |
50 |
259.708152 |
12900 |
6578 |
50 |
268.480856 |
13000 |
6551 |
50 |
263.443551 |
13100 |
6588 |
50 |
263.463048 |
13200 |
6689 |
50 |
265.711631 |
13300 |
6645 |
49 |
261.106665 |
13400 |
6745 |
50 |
263.648678 |
13500 |
6792 |
50 |
263.543127 |
13600 |
6802 |
50 |
260.712191 |
13700 |
6765 |
49 |
255.633945 |
13800 |
6998 |
50 |
266.812063 |
13900 |
7167 |
51 |
272.812553 |
14000 |
7093 |
50 |
265.929308 |
14100 |
7075 |
50 |
261.127972 |
14200 |
7129 |
50 |
262.528561 |
14300 |
7142 |
49 |
260.321366 |
14400 |
7215 |
50 |
261.587816 |
14500 |
7430 |
51 |
267.716134 |
14600 |
7387 |
50 |
264.269113 |
14700 |
7362 |
50 |
261.411621 |
14800 |
7427 |
50 |
261.974600 |
14900 |
7561 |
50 |
264.857082 |
15000 |
7531 |
50 |
262.037435 |
15100 |
7547 |
49 |
261.596967 |
15200 |
7639 |
50 |
262.365295 |
15300 |
7623 |
49 |
259.249140 |
15400 |
7635 |
49 |
258.054862 |
15500 |
7770 |
50 |
261.978105 |
15600 |
7837 |
50 |
262.285544 |
15700 |
7856 |
50 |
261.480940 |
15800 |
8028 |
50 |
267.714380 |
15900 |
8057 |
50 |
264.868945 |
16000 |
8011 |
50 |
262.140227 |
16100 |
7978 |
49 |
258.713922 |
16200 |
8127 |
50 |
262.974868 |
16300 |
8179 |
50 |
262.518843 |
16400 |
8255 |
50 |
261.635051 |
16500 |
8347 |
50 |
266.087302 |
16600 |
8303 |
50 |
261.085562 |
16700 |
8359 |
50 |
260.702974 |
16800 |
8468 |
50 |
264.268297 |
16900 |
8568 |
50 |
266.403811 |
17000 |
8538 |
50 |
262.307215 |
17100 |
8639 |
50 |
264.707967 |
17200 |
8667 |
50 |
263.788321 |
17300 |
8642 |
49 |
259.942429 |
17400 |
8756 |
50 |
262.219532 |
17500 |
8794 |
50 |
263.432635 |
17600 |
8818 |
50 |
262.572239 |
17700 |
8907 |
50 |
263.566450 |
17800 |
8956 |
50 |
262.968631 |
17900 |
8983 |
50 |
261.028487 |
18000 |
9117 |
50 |
265.567592 |
18100 |
8974 |
49 |
257.308207 |
18200 |
9102 |
50 |
260.680475 |
18300 |
9189 |
50 |
261.587907 |
18400 |
9242 |
50 |
261.746129 |
18500 |
9222 |
49 |
260.930218 |
18600 |
9365 |
50 |
263.043549 |
18700 |
9387 |
50 |
263.283626 |
18800 |
9405 |
50 |
260.995356 |
18900 |
9380 |
49 |
259.834973 |
19000 |
9499 |
49 |
260.919120 |
19100 |
9578 |
50 |
262.661737 |
19200 |
9565 |
49 |
261.368611 |
19300 |
9678 |
50 |
262.145159 |
19400 |
9808 |
50 |
265.556257 |
19500 |
9779 |
50 |
263.391862 |
19600 |
9731 |
49 |
258.615226 |
19700 |
9834 |
49 |
260.884316 |
19800 |
9927 |
50 |
262.482791 |
19900 |
10015 |
50 |
262.526730 |
20000 |
10112 |
50 |
264.416068 |
20100 |
10070 |
50 |
262.623947 |
20200 |
9998 |
49 |
257.999921 |
20300 |
10214 |
50 |
263.752204 |
20400 |
10358 |
50 |
267.381740 |
20500 |
10292 |
50 |
263.402469 |
20600 |
10366 |
50 |
264.160012 |
20700 |
10415 |
50 |
262.526659 |
20800 |
10415 |
50 |
261.883217 |
20900 |
10486 |
50 |
263.491194 |
21000 |
10500 |
50 |
262.571365 |
Рисунок 1
Таблица 2
Общее число случайных точек N |
Число точек попавших в область N - n |
Примерный процент попадания |
Значение интеграла I * 1000 |
100 |
42 |
42 |
603.523375 |
200 |
76 |
38 |
553.325810 |
300 |
90 |
30 |
460.666290 |
400 |
126 |
31 |
465.694494 |
500 |
175 |
35 |
509.080655 |
600 |
201 |
33 |
487.345917 |
700 |
239 |
34 |
509.999337 |
800 |
277 |
34 |
525.124085 |
900 |
303 |
33 |
498.060089 |
1000 |
349 |
34 |
525.965742 |
1100 |
364 |
33 |
488.784503 |
1200 |
393 |
32 |
474.351020 |
1300 |
445 |
34 |
510.530639 |
1400 |
493 |
35 |
518.737700 |
1500 |
500 |
33 |
504.463162 |
1600 |
535 |
33 |
497.840499 |
1700 |
555 |
32 |
487.281722 |
1800 |
616 |
34 |
518.072399 |
1900 |
623 |
32 |
495.741947 |
2000 |
707 |
35 |
521.288497 |
2100 |
698 |
33 |
495.765432 |
2200 |
776 |
35 |
522.247208 |
2300 |
785 |
34 |
516.368656 |
2400 |
780 |
32 |
494.327115 |
2500 |
816 |
32 |
492.410105 |
2600 |
901 |
34 |
517.433199 |
2700 |
897 |
33 |
500.160242 |
2800 |
956 |
34 |
517.275232 |
2900 |
985 |
33 |
510.649606 |
3000 |
1010 |
33 |
508.721204 |
3100 |
1036 |
33 |
500.272282 |
3200 |
1103 |
34 |
516.908925 |
3300 |
1110 |
33 |
510.866121 |
3400 |
1117 |
32 |
488.279821 |
3500 |
1170 |
33 |
500.375841 |
3600 |
1185 |
32 |
491.300839 |
3700 |
1247 |
33 |
510.654551 |
3800 |
1310 |
34 |
516.394185 |
3900 |
1273 |
32 |
478.940782 |
4000 |
1292 |
32 |
482.556169 |
4100 |
1384 |
33 |
500.481352 |
4200 |
1404 |
33 |
500.428072 |
4300 |
1432 |
33 |
496.577995 |
4400 |
1455 |
33 |
495.159354 |
4500 |
1452 |
32 |
484.872179 |
4600 |
1555 |
33 |
504.878599 |
4700 |
1551 |
33 |
496.519836 |
4800 |
1581 |
32 |
494.015579 |
4900 |
1687 |
34 |
518.172674 |
5000 |
1704 |
34 |
512.281827 |
5100 |
1693 |
33 |
499.655429 |
5200 |
1742 |
33 |
498.287666 |
5300 |
1755 |
33 |
501.086583 |
5400 |
1838 |
34 |
513.208098 |
5500 |
1828 |
33 |
502.293362 |
5600 |
1882 |
33 |
507.049893 |
5700 |
1925 |
33 |
502.484155 |
5800 |
1891 |
32 |
489.705543 |
5900 |
2010 |
34 |
507.427962 |
6000 |
2050 |
34 |
514.008531 |
6100 |
2090 |
34 |
510.632559 |
6200 |
2085 |
33 |
500.873970 |
6300 |
2100 |
33 |
498.646552 |
6400 |
2128 |
33 |
497.912524 |
6500 |
2244 |
34 |
515.678072 |
6600 |
2190 |
33 |
495.650406 |
6700 |
2300 |
34 |
516.641896 |
6800 |
2282 |
33 |
503.884393 |
6900 |
2345 |
33 |
507.712833 |
7000 |
2387 |
34 |
511.316188 |
7100 |
2385 |
33 |
501.861925 |
7200 |
2436 |
33 |
505.705700 |
7300 |
2518 |
34 |
517.043124 |
7400 |
2549 |
34 |
519.358890 |
7500 |
2500 |
33 |
499.669325 |
7600 |
2592 |
34 |
516.985378 |
7700 |
2546 |
33 |
497.971724 |
7800 |
2648 |
33 |
504.218035 |
7900 |
2614 |
33 |
495.446982 |
8000 |
2774 |
34 |
517.985172 |
8100 |
2739 |
33 |
505.062103 |
8200 |
2815 |
34 |
512.668336 |
8300 |
2863 |
34 |
514.346583 |
8400 |
2890 |
34 |
513.518697 |
8500 |
2843 |
33 |
502.449927 |
8600 |
2917 |
33 |
508.591123 |
8700 |
2953 |
33 |
506.981785 |
8800 |
2968 |
33 |
503.242279 |
8900 |
2995 |
33 |
503.617776 |
9000 |
3025 |
33 |
502.903266 |
9100 |
3095 |
34 |
509.096141 |
9200 |
3178 |
34 |
520.643776 |
9300 |
3202 |
34 |
516.723706 |
9400 |
3213 |
34 |
513.710717 |
9500 |
3276 |
34 |
517.425144 |
9600 |
3230 |
33 |
500.977171 |
9700 |
3241 |
33 |
499.799863 |
9800 |
3337 |
34 |
510.424419 |
9900 |
3379 |
34 |
510.895131 |
10000 |
3391 |
33 |
511.594047 |
10100 |
3394 |
33 |
503.237290 |
10200 |
3478 |
34 |
508.603486 |
10300 |
3496 |
33 |
511.787024 |
10400 |
3477 |
33 |
500.100290 |
10500 |
3533 |
33 |
506.448191 |
10600 |
3582 |
33 |
508.030650 |
10700 |
3594 |
33 |
501.995378 |
10800 |
3633 |
33 |
504.155534 |
10900 |
3667 |
33 |
503.269111 |
11000 |
3667 |
33 |
499.248062 |
11100 |
3817 |
34 |
515.426866 |
11200 |
3748 |
33 |
501.337050 |
11300 |
3848 |
34 |
512.354603 |
11400 |
3839 |
33 |
502.922396 |
11500 |
3959 |
34 |
517.051775 |
11600 |
3926 |
33 |
505.421262 |
11700 |
3990 |
34 |
511.635224 |
11800 |
4037 |
34 |
514.814916 |
11900 |
4043 |
33 |
508.073989 |
12000 |
4081 |
34 |
510.560586 |
12100 |
4142 |
34 |
512.531919 |
12200 |
4080 |
33 |
497.518325 |
12300 |
4118 |
33 |
499.997890 |
12400 |
4245 |
34 |
514.485095 |
12500 |
4176 |
33 |
501.098740 |
12600 |
4290 |
34 |
508.859970 |
12700 |
4275 |
33 |
506.522498 |
12800 |
4319 |
33 |
508.945698 |
12900 |
4268 |
33 |
496.331057 |
13000 |
4352 |
33 |
499.989062 |
13100 |
4417 |
33 |
505.318660 |
13200 |
4407 |
33 |
500.328738 |
13300 |
4541 |
34 |
511.897040 |
13400 |
4474 |
33 |
499.461651 |
13500 |
4556 |
33 |
507.907271 |
13600 |
4535 |
33 |
499.039138 |
13700 |
4686 |
34 |
510.722272 |
13800 |
4615 |
33 |
502.405983 |
13900 |
4517 |
32 |
485.956586 |
14000 |
4656 |
33 |
496.923851 |
14100 |
4752 |
33 |
508.112944 |
14200 |
4816 |
33 |
507.379273 |
14300 |
4877 |
34 |
511.139339 |
14400 |
4877 |
33 |
505.715190 |
14500 |
4723 |
32 |
490.609463 |
14600 |
4882 |
33 |
501.200802 |
14700 |
4988 |
33 |
508.254812 |
14800 |
4968 |
33 |
501.639432 |
14900 |
4919 |
33 |
497.527744 |
15000 |
5057 |
33 |
505.200339 |
15100 |
5089 |
33 |
501.112244 |
15200 |
5081 |
33 |
497.742441 |
15300 |
5163 |
33 |
506.767196 |
15400 |
5251 |
34 |
511.239471 |
15500 |
5192 |
33 |
504.047823 |
15600 |
5210 |
33 |
500.955980 |
15700 |
5303 |
33 |
505.340537 |
15800 |
5210 |
32 |
494.005980 |
15900 |
5251 |
33 |
496.491940 |
16000 |
5388 |
33 |
504.352167 |
16100 |
5572 |
34 |
520.597488 |
16200 |
5407 |
33 |
501.699911 |
16300 |
5457 |
33 |
502.717728 |
16400 |
5458 |
33 |
500.266471 |
16500 |
5505 |
33 |
497.836795 |
16600 |
5639 |
33 |
507.313808 |
16700 |
5577 |
33 |
499.473276 |
16800 |
5605 |
33 |
498.035818 |
16900 |
5565 |
32 |
494.787170 |
17000 |
5696 |
33 |
500.533045 |
17100 |
5646 |
33 |
491.957458 |
17200 |
5785 |
33 |
504.982623 |
17300 |
5850 |
33 |
508.286682 |
17400 |
5813 |
33 |
498.678510 |
17500 |
5873 |
33 |
502.061466 |
17600 |
5857 |
33 |
497.635486 |
17700 |
5944 |
33 |
501.630459 |
17800 |
5908 |
33 |
498.798560 |
17900 |
5995 |
33 |
499.975697 |
18000 |
5937 |
32 |
494.816815 |
18100 |
6173 |
34 |
514.152148 |
18200 |
6113 |
33 |
505.225021 |
18300 |
6084 |
33 |
499.866753 |
18400 |
6163 |
33 |
501.970714 |
18500 |
6268 |
33 |
508.319072 |
18600 |
6166 |
33 |
494.959202 |
18700 |
6252 |
33 |
502.095489 |
18800 |
6350 |
33 |
505.833658 |
18900 |
6409 |
33 |
506.015794 |
19000 |
6355 |
33 |
502.572657 |
19100 |
6415 |
33 |
503.621031 |
19200 |
6493 |
33 |
506.654074 |
19300 |
6451 |
33 |
501.284961 |
19400 |
6420 |
33 |
498.152746 |
19500 |
6522 |
33 |
500.652058 |
19600 |
6651 |
33 |
509.152528 |
19700 |
6619 |
33 |
502.253453 |
19800 |
6623 |
33 |
500.815247 |
19900 |
6638 |
33 |
502.727838 |
20000 |
6579 |
32 |
492.899452 |
20100 |
6759 |
33 |
503.620342 |
20200 |
6897 |
34 |
511.612314 |
20300 |
6710 |
33 |
492.516385 |
20400 |
6687 |
32 |
492.922761 |
20500 |
6809 |
33 |
499.577801 |
20600 |
6829 |
33 |
494.886385 |
20700 |
6878 |
33 |
500.410589 |
20800 |
6981 |
33 |
501.577113 |
20900 |
6968 |
33 |
498.527787 |
21000 |
7071 |
33 |
504.354091 |
Рисунок 2
Таблица 3
Общее число случайных точек N |
Число точек попавших в область N - n |
Примерный процент попадания |
Значение интеграла I * 10000 |
100 |
41 |
41 |
512.500000 |
200 |
93 |
46 |
581.250000 |
300 |
156 |
52 |
650.000000 |
400 |
207 |
51 |
646.875000 |
500 |
244 |
48 |
610.000000 |
600 |
292 |
48 |
608.333333 |
700 |
344 |
49 |
614.285714 |
800 |
402 |
50 |
628.125000 |
900 |
458 |
50 |
636.111111 |
1000 |
491 |
49 |
613.750000 |
1100 |
566 |
51 |
643.181818 |
1200 |
601 |
50 |
626.041667 |
1300 |
653 |
50 |
627.884615 |
1400 |
675 |
48 |
602.678571 |
1500 |
754 |
50 |
628.333333 |
1600 |
787 |
49 |
614.843750 |
1700 |
866 |
50 |
636.764706 |
1800 |
902 |
50 |
626.388889 |
1900 |
977 |
51 |
642.763158 |
2000 |
976 |
48 |
610.000000 |
2100 |
1055 |
50 |
627.976190 |
2200 |
1075 |
48 |
610.795455 |
2300 |
1145 |
49 |
622.282609 |
2400 |
1230 |
51 |
640.625000 |
2500 |
1271 |
50 |
635.500000 |
2600 |
1277 |
49 |
613.942308 |
2700 |
1360 |
50 |
629.629630 |
2800 |
1398 |
49 |
624.107143 |
2900 |
1434 |
49 |
618.103448 |
3000 |
1515 |
50 |
631.250000 |
3100 |
1567 |
50 |
631.854839 |
3200 |
1570 |
49 |
613.281250 |
3300 |
1655 |
50 |
626.893939 |
3400 |
1725 |
50 |
634.191176 |
3500 |
1760 |
50 |
628.571429 |
3600 |
1832 |
50 |
636.111111 |
3700 |
1867 |
50 |
630.743243 |
3800 |
1865 |
49 |
613.486842 |
3900 |
1987 |
50 |
636.858974 |
4000 |
2066 |
51 |
645.625000 |
4100 |
2070 |
50 |
631.097561 |
4200 |
2134 |
50 |
635.119048 |
4300 |
2183 |
50 |
634.593023 |
4400 |
2238 |
50 |
635.795455 |
4500 |
2310 |
51 |
641.666667 |
4600 |
2287 |
49 |
621.467391 |
4700 |
2380 |
50 |
632.978723 |
4800 |
2423 |
50 |
630.989583 |
4900 |
2442 |
49 |
622.959184 |
5000 |
2468 |
49 |
617.000000 |
5100 |
2595 |
50 |
636.029412 |
5200 |
2595 |
49 |
623.798077 |
5300 |
2672 |
50 |
630.188679 |
5400 |
2670 |
49 |
618.055556 |
5500 |
2780 |
50 |
631.818182 |
5600 |
2805 |
50 |
626.116071 |
5700 |
2837 |
49 |
622.149123 |
5800 |
2961 |
51 |
638.146552 |
5900 |
2928 |
49 |
620.338983 |
6000 |
2970 |
49 |
618.750000 |
6100 |
3038 |
49 |
622.540984 |
6200 |
3101 |
50 |
625.201613 |
6300 |
3190 |
50 |
632.936508 |
6400 |
3227 |
50 |
630.273438 |
6500 |
3217 |
49 |
618.653846 |
6600 |
3336 |
50 |
631.818182 |
6700 |
3324 |
49 |
620.149254 |
6800 |
3423 |
50 |
629.227941 |
6900 |
3444 |
49 |
623.913043 |
7000 |
3498 |
49 |
624.642857 |
7100 |
3547 |
49 |
624.471831 |
7200 |
3587 |
49 |
622.743056 |
7300 |
3582 |
49 |
613.356164 |
7400 |
3676 |
49 |
620.945946 |
7500 |
3760 |
50 |
626.666667 |
7600 |
3797 |
49 |
624.506579 |
7700 |
3912 |
50 |
635.064935 |
7800 |
3882 |
49 |
622.115385 |
7900 |
4017 |
50 |
635.601266 |
8000 |
3967 |
49 |
619.843750 |
8100 |
4056 |
50 |
625.925926 |
8200 |
4075 |
49 |
621.189024 |
8300 |
4061 |
48 |
611.596386 |
8400 |
4134 |
49 |
615.178571 |
8500 |
4298 |
50 |
632.058824 |
8600 |
4278 |
49 |
621.802326 |
8700 |
4324 |
49 |
621.264368 |
8800 |
4419 |
50 |
627.698864 |
8900 |
4479 |
50 |
629.073034 |
9000 |
4536 |
50 |
630.000000 |
9100 |
4566 |
50 |
627.197802 |
9200 |
4537 |
49 |
616.440217 |
9300 |
4626 |
49 |
621.774194 |
9400 |
4704 |
50 |
625.531915 |
9500 |
4715 |
49 |
620.394737 |
9600 |
4828 |
50 |
628.645833 |
9700 |
4912 |
50 |
632.989691 |
9800 |
4899 |
49 |
624.872449 |
9900 |
4935 |
49 |
623.106061 |
10000 |
5046 |
50 |
630.750000 |
10100 |
5098 |
50 |
630.940594 |
10200 |
5063 |
49 |
620.465686 |
10300 |
5154 |
50 |
625.485437 |
10400 |
5209 |
50 |
626.081731 |
10500 |
5264 |
50 |
626.666667 |
10600 |
5306 |
50 |
625.707547 |
10700 |
5381 |
50 |
628.621495 |
10800 |
5423 |
50 |
627.662037 |
10900 |
5452 |
50 |
625.229358 |
11000 |
5573 |
50 |
633.295455 |
11100 |
5519 |
49 |
621.509009 |
11200 |
5623 |
50 |
627.566964 |
11300 |
5639 |
49 |
623.783186 |
11400 |
5734 |
50 |
628.728070 |
11500 |
5745 |
49 |
624.456522 |
11600 |
5827 |
50 |
627.909483 |
11700 |
5837 |
49 |
623.611111 |
11800 |
5870 |
49 |
621.822034 |
11900 |
5948 |
49 |
624.789916 |
12000 |
5991 |
49 |
624.062500 |
12100 |
6024 |
49 |
622.314050 |
12200 |
6106 |
50 |
625.614754 |
12300 |
6216 |
50 |
631.707317 |
12400 |
6163 |
49 |
621.270161 |
12500 |
6281 |
50 |
628.100000 |
12600 |
6297 |
49 |
624.702381 |
12700 |
6381 |
50 |
628.051181 |
12800 |
6424 |
50 |
627.343750 |
12900 |
6578 |
50 |
637.403101 |
13000 |
6551 |
50 |
629.903846 |
13100 |
6588 |
50 |
628.625954 |
13200 |
6689 |
50 |
633.428030 |
13300 |
6645 |
49 |
624.530075 |
13400 |
6745 |
50 |
629.197761 |
13500 |
6792 |
50 |
628.888889 |
13600 |
6802 |
50 |
625.183824 |
13700 |
6765 |
49 |
617.244526 |
13800 |
6998 |
50 |
633.876812 |
13900 |
7167 |
51 |
644.514388 |
14000 |
7093 |
50 |
633.303571 |
14100 |
7075 |
50 |
627.216312 |
14200 |
7129 |
50 |
627.552817 |
14300 |
7142 |
49 |
624.300699 |
14400 |
7215 |
50 |
626.302083 |
14500 |
7430 |
51 |
640.517241 |
14600 |
7387 |
50 |
632.448630 |
14700 |
7362 |
50 |
626.020408 |
14800 |
7427 |
50 |
627.280405 |
14900 |
7561 |
50 |
634.312081 |
15000 |
7531 |
50 |
627.583333 |
15100 |
7547 |
49 |
624.751656 |
15200 |
7639 |
50 |
628.207237 |
15300 |
7623 |
49 |
622.794118 |
15400 |
7635 |
49 |
619.724026 |
15500 |
7770 |
50 |
626.612903 |
15600 |
7837 |
50 |
627.964744 |
15700 |
7856 |
50 |
625.477707 |
15800 |
8028 |
50 |
635.126582 |
15900 |
8057 |
50 |
633.411950 |
16000 |
8011 |
50 |
625.859375 |
16100 |
7978 |
49 |
619.409938 |
16200 |
8127 |
50 |
627.083333 |
16300 |
8179 |
50 |
627.223926 |
16400 |
8255 |
50 |
629.192073 |
16500 |
8347 |
50 |
632.348485 |
16600 |
8303 |
50 |
625.225904 |
16700 |
8359 |
50 |
625.673653 |
16800 |
8468 |
50 |
630.059524 |
16900 |
8568 |
50 |
633.727811 |
17000 |
8538 |
50 |
627.794118 |
17100 |
8639 |
50 |
631.505848 |
17200 |
8667 |
50 |
629.869186 |
17300 |
8642 |
49 |
624.421965 |
17400 |
8756 |
50 |
629.022989 |
17500 |
8794 |
50 |
628.142857 |
17600 |
8818 |
50 |
626.278409 |
17700 |
8907 |
50 |
629.025424 |
17800 |
8956 |
50 |
628.932584 |
17900 |
8983 |
50 |
627.304469 |
18000 |
9117 |
50 |
633.125000 |
18100 |
8974 |
49 |
619.751381 |
18200 |
9102 |
50 |
625.137363 |
18300 |
9189 |
50 |
627.663934 |
18400 |
9242 |
50 |
627.853261 |
18500 |
9222 |
49 |
623.108108 |
18600 |
9365 |
50 |
629.368280 |
18700 |
9387 |
50 |
627.473262 |
18800 |
9405 |
50 |
625.332447 |
18900 |
9380 |
49 |
620.370370 |
19000 |
9499 |
49 |
624.934211 |
19100 |
9578 |
50 |
626.832461 |
19200 |
9565 |
49 |
622.721354 |
19300 |
9678 |
50 |
626.813472 |
19400 |
9808 |
50 |
631.958763 |
19500 |
9779 |
50 |
626.858974 |
19600 |
9731 |
49 |
620.599490 |
19700 |
9834 |
49 |
623.984772 |
19800 |
9927 |
50 |
626.704545 |
19900 |
10015 |
50 |
629.082915 |
20000 |
10112 |
50 |
632.000000 |
20100 |
10070 |
50 |
626.243781 |
20200 |
9998 |
49 |
618.688119 |
20300 |
10214 |
50 |
628.940887 |
20400 |
10358 |
50 |
634.681373 |
20500 |
10292 |
50 |
627.560976 |
20600 |
10366 |
50 |
629.004854 |
20700 |
10415 |
50 |
628.925121 |
20800 |
10415 |
50 |
625.901442 |
20900 |
10486 |
50 |
627.153110 |
21000 |
10500 |
50 |
625.000000 |
Рисунок 3
Дайлис С.Ю. Подготовка научной публикации на персональной ЭВМ: Методические указания к лабораторным работам по дисциплине “Информатика”. Екатеринбург. УГТУ. 1997г.
#include <math.h>
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <cyr_io.h>
#include <windows.h>
void main(void)
{
int i,j,m,n;
int N;
double I;
double Number;
double Arr1[3][21000];
double Arr2[3][21000];
FILE *fOut;
HANDLE hStdOut;
FreeConsole();
AllocConsole();
hStdOut=GetStdHandle(STD_
SetConsoleTitle("Курсовая. Задание 9");
SetConsoleTextAttribute(
FOREGROUND_GREEN|FOREGROUND_
rprintf("Нажмите клавишу для продолжения\n");
getch();
fOut=fopen("Data1.txt","wt");
if(fOut==NULL)
{
SetConsoleTextAttribute(
FOREGROUND_RED|FOREGROUND_
rprintf("Не
удалось создать файл
getch();
exit(1);
}
m = 2; // Все интегралы второго порядка.
SetConsoleTextAttribute(
FOREGROUND_GREEN|FOREGROUND_
rprintf("Процесс вычисления запущен.\n");
// Вычисляем интеграл №1.
SetConsoleTitle("Курсовая. Задание 9 - Процесс 1");
fprintf(fOut,"| N | N-n | %% | I |\n");
fprintf(fOut,"----------------
for(i=0;i<3;++i)
{
for(j=0;j<21000;++j)
{
Arr1[i][j]=0.0;
Arr2[i][j]=0.0;
}
}
for(N=100;N<=21000;N+=100)
{
for(j=0;j<m;++j)
{
srand(j+N);
for(i=0;i<N;++i)
{
Number = (1.0/RAND_MAX)*rand();
Arr1[j][i] = Number;
}
}
n = 0;
for(i=0;i<N;++i)
{
if((Arr1[1][i]<=Arr1[0][i]))
{
Arr2[0][n]=Arr1[0][i];
Arr2[1][n]=Arr1[1][i];
++n;
}
}
I = 0.0;
for(i=0;i<n;++i)
{
I += sqrt((Arr2[0][i]*Arr2[0][i])-(
}
I /= (N);
fprintf(fOut,"|%5d|%5d|%3d|%3.
SetConsoleTextAttribute(
FOREGROUND_RED|FOREGROUND_
printf(".");
}
fprintf(fOut,"----------------
fclose(fOut);
fOut=fopen("Data2.txt","wt");
if(fOut==NULL)
{
SetConsoleTextAttribute(
FOREGROUND_RED|FOREGROUND_
rprintf("Не удалось создать файл результатов. Error 0x02");
getch();
exit(1);
}
// Вычисляем интеграл №2.
SetConsoleTitle("Курсовая. Задание 9 - Процесс 2");
fprintf(fOut,"| N | N-n | %% | I |\n");
fprintf(fOut,"----------------
for(i=0;i<3;++i)
{
for(j=0;j<21000;++j)
{
Arr1[i][j]=0.0;
Arr2[i][j]=0.0;
}
}
for(N=100;N<=21000;N+=100)
{
for(j=0;j<m;++j)
{
srand(j+N);
for(i=0;i<N;++i)
{
Number = (1.0/RAND_MAX)*rand();
Arr1[j][i] = Number;
}
}
n = 0;
for(i=0;i<N;++i)
{
if(Arr1[1][i]>=sqrt(Arr1[0][i]
{
Arr2[0][n]=Arr1[0][i];
Arr2[1][n]=Arr1[1][i];
++n;
}
}
I = 0.0;
for(i=0;i<n;++i)
{
Number=Arr2[0][i]/Arr2[1][i];
I += exp(Arr2[0][i]/Arr2[1][i]);
}
I /= N;
fprintf(fOut,"|%5d|%5d|%3d|%3.
SetConsoleTextAttribute(
FOREGROUND_BLUE|FOREGROUND_
printf(".");
}
fprintf(fOut,"----------------
fclose(fOut);
fOut=fopen("Data3.txt","wt");
if(fOut==NULL)
{
SetConsoleTextAttribute(
FOREGROUND_RED|FOREGROUND_
rprintf("Не удалось создать файл результатов. Error 0x03");
getch();
exit(1);
}
// Вычисляем интеграл №3.
SetConsoleTitle("Курсовая. Задание 9 - Процесс 3");
fprintf(fOut,"| N | N-n | %% | I |\n");
fprintf(fOut,"----------------
for(i=0;i<3;++i)
{
for(j=0;j<21000;++j)
{
Arr1[i][j]=0.0;
Arr2[i][j]=0.0;
}
}
for(N=100;N<=21000;N+=100)
{
for(j=0;j<m;++j)
{
srand(j+N);
for(i=0;i<N;++i)
{
Number = (1.0/RAND_MAX)*rand();
Arr1[j][i] = Number;
}
}
for(j=0;j<N;++j)
Arr1[2][j]=(1.0-Arr1[0][j]-
n = 0;
for(i=0;i<N;++i)
{
if((Arr1[1][i]<=Arr1[0][i]))
{
if((Arr1[0][i]+Arr1[1][i]+
{
Arr2[0][n]=Arr1[0][i];
Arr2[1][n]=Arr1[1][i];
Arr2[2][n]=Arr1[2][i];
++n;
}
}
}
I = 0.0;
for(i=0;i<n;++i)
{
I += 1/((Arr1[0][i]+Arr1[1][i]+
*(Arr1[0][i]+Arr1[1][i]+Arr1[
*(Arr1[0][i]+Arr1[1][i]+Arr1[
}
I /= (N);
fprintf(fOut,"|%5d|%5d|%3d|%3.
SetConsoleTextAttribute(
FOREGROUND_RED|FOREGROUND_
printf(".");
}
fprintf(fOut,"----------------
fclose(fOut);
SetConsoleTitle("Курсовая. Задание 9 - Конец работы");
SetConsoleTextAttribute(
FOREGROUND_GREEN|FOREGROUND_
rprintf("\nПроцесс вычисления закончен. Смотрите результаты в выходных файлах.\n");
rprintf("Нажмите клавишу для завершения.");
getch();
}