![]() |
|
сделать стартовой | добавить в избранное |
![]() |
Вычисление площади сложной фигуры методом имитационного моделирования |
МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ИНСТИТУТ ЭЛЕКТРОННОЙ ТЕХНИКИ (ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ) Расчет площади сложной фигуры с помощью метода имитацеонного моделирования . Логвиненко В. Москва. 1995 г. Задание: Разработать программу, позволяющую с помощью метода имитационного моделирования рассчитать площадь сложной фигуры, ограниченной сверху кривой U=Y1(x) , снизу V=Y2(x). 1. Для решения данной задачи применим следующий метод. Ограничим заданную фигуру прямоугольником, стороны которого проходят: через точки максимального и минимального значения функций и параллельны осям абсцисс; через левую и правую граничные точки области определения аргумента и параллельны осям ординат. Используя датчик случайных чисел разыгрываются координаты случайной точки из этого прямоугольника . Проверяем попадаете точки в заданную фигуру. Зная площадь прямоугольника и отношение попавших точек к их общему числу разыгранных, можно оценить площадь интересующей нас фигуры. 2. Технические характеристики объекта исследования: 2.1. Диапазон значений параметров задачи. Множество кривых ограничим полиномами третьего порядка, в виду того что полиномы более высокого порядка сильно увеличивают время вычисления. Причем для наглядности решения вполне достаточно порядка "3". Коэффициенты полинома ограничим диапазоном . Область определения ограничим диапазоном . Эти ограничения введены для более наглядного решения задачи, и изменить их не с технической точки зрения не сложно. 3. Решение задачи. Данная задача решена в среде urbo C. Для решения потребовалось общую задачу разбить на несколько небольших задач (процедур). А именно отдельно( в виде процедур) были решены задачи -ввод параметров; процедура ge poly -сообщение об ошибке при вводе; Файл WI DOW.C процедура alkerror -рисование рамки окна; процедура border -вычисление минимального и максимального значении функций ; процедура f max -вычисление значения полинома в заданной точке; Файл MA IM.C процедура fu -вычисление корней кубичного уравнения; процедура f roo -вычисление интеграла численным методом; процедура i um Файл F I EGER.C -вычисление интеграла с помощью имитационного моделирования; процедура i ra d -инициализация графического режима процедура i i -обводка непрерывного контура Файл DRAF .C процедура f draf - вырисовка осей координат процедура osi -вырисовки графиков функций и Файл DRAF F.C штриховка заданной площади процедура draf f -вырисовка графиков вычисления площади разными методами и вывод Файл DRAF .C таблицы результатов вычисления процедура draf Схема алгоритма имеет вид: 4. Описание процедур используемый в программе. 4.1 Файл WI DOW.C. 4.1.1 Процедура ввода параметров. void ge poly( floa b3,floa b2,floa b1,floa b0, //-коэффициенты полинома Y1 flia c3,floa c2,floa c1,floa c0, //- коэффициенты полинома Y2 floa x1,floa x2, // область определения i ) // количество обращений к генератору //случайных чисел 4.1.2 Процедура рисования рамки окна. void border(i sx, i sy, i e , i ey) // рисует рамку с координатами левого верхнего // угла (sx,sy) и координатами правого нижнего // угла (ex,ey) 4.1.3 Процедура сообщения об ошибке при вводе.
void alkerror(void) - Процедура подает звуковой сигнал и выводит на экран сообщение об ошибке при вводе. 4.2. Файл MA IM.C 4.2.1 Процедура вычисления максимального и минимального значений функций на заданном интервале. void f max(floa b3,floa b2,floa b1,floa b0, //-коэффициенты полинома Y1 flia c3,floa c2,floa c1,floa c0, //- коэффициенты полинома Y2 floa x1,floa x2, // область определения floa ami , floa amax) // минимальное и максимальное значения // функций 4.2.2 Процедура вычисления значения полинома в данной точке. floa fu (floa b3,floa b2,floa b1,floa b0, //-коэффициенты полинома floa x) Возвращает значение полинома в точке х. 4.2.3 Процедура вычисления корней кубичного уравнения. i f roo (floa b3,floa b2,floa b1,floa b0, //-коэффициенты полинома Y1 flia c3,floa c2,floa c1,floa c0, //- коэффициенты полинома Y2 floa x1,floa x2, // область определения floa e, // точность вычисления корней floa k1,floa k2,floa k3) // значения корней // функций Возвращает количество действительных корней на данном интервале. 4.3. Файл F I EGER.C 4.3.1 Процедура вычисления площади сложной фигуры численным методом. floa f um(floa b3,floa b2,floa b1,floa b0, //-коэфициенты полинома Y1 flia c3,floa c2,floa c1,floa c0, //- коэфициенты полинома Y2 floa x1,floa x2) // область определения Вычисляет площадь сложной фигуры. 4.3.2 Процедура вычисления площади сложной фигуры c помощью метода имитационного моделрования floa f (floa b3,floa b2,floa b1,floa b0, //-коэфициенты полинома Y1 flia c3,floa c2,floa c1,floa c0, //- коэфициенты полинома Y2 floa x1,floa x2, // область определения floa fmi ,floa fmax, // минимальное и максимальное значения //функций на данном интервале i ) // количество обращений к генератору // случайный чисел Вычисляет площадь сложной фигуры с помощью метода имитационного моделирования. 4.4 Файл DRAF .C 4.4.1 Процедура инициализации графического режима. void i i (void) 4.4.2 Процедура обводки непрерывного контура. void f draf (floa b0,floa b1,floa b2,floa b3, //-коэфициенты полинома floa x1,floa x2) // область определения 4.4.3 Процедура вырисовки осей координат. void osi ( floa x1, floa x2, // область определения функций floa b) // маштабный коэфициент расчитывается по формуле // b= j - Fmi (i-j) / (Fmax - Fmi ) // где i,j - задают положение графика на экране // Fmi ,Fmax - минимальное и максимальное значения //функций на данном интервале 4.5 Файл DRAF F. 4.5.1 Процедура вырисовки графиков функций. void draf f (floa b3,floa b2,floa b1,floa b0, //-коэфициенты полинома Y1 flia c3,floa c2,floa c1,floa c0, //- коэфициенты полинома Y2 floa x1,floa x2, // область определения floa fmi ,floa fmax, // минимальное и максимальное значения //функций на данном интервале i k, i i, i l, i j) // координаты, задающие положение //графика на экране 4.6 Файл DRAF . 4.6.1 Процедура вырисовки графиков значений полщадей расчитанных числвым методом и методом имитационного моделирования в зависимости от количества обращений к генератору случайных чисел. void draf e (floa b3,floa b2,floa b1,floa b0, //-коэфициенты полинома Y1 flia c3,floa c2,floa c1,floa c0, //- коэфициенты полинома Y2 floa x1,floa x2, // область определения floa fmi ,floa fmax, // минимальное и максимальное значения //функций на данном интервале floa S , // площадь рассчитанная числовым методом i k, i i, i l, i j) // координаты, задающие положение //графика на экране 4.7
Файл SQ.C Все файлы объединены в главной программе SQ.C, которая является основной и координирует работу процедур. 5 Использование программы. Для использования данной программы необходима операционная среда MS DOS, файл egavega.bgi, и собственно сама скомпилированная программа sq.exe. 6 Исходный текст программы дан в приложении №1. 7 Тесовый пример показан в приложении №2. 8 Список использованной литературы. 8.1 Язык программирования Си для персонального компьютера . С.О. Бочков, Д.М. Субботин. 8.2 С . Описание языка программирования. Бьярн Страустрап. 8.3 URBO C. User's Guide. Borla d I er a io al, I c. 1988. 8.4 URBO C. Refere ce Guide. Borla d I er a io al, I c. 1988. 9 Заключение. 9.1 Сопоставление результатов работы с тербованием задания. Сопоставляя результаты работы с требованием задания, можно сказать что задача решена в полной мере, за исключением, быть может общности относительно возможности расчета для многие классов функций. Но решение более общей задачи ( т.е. возможность расчета для многих классов функций ) представляется значительно более громоздким, и вообще является отдельной задачей. Поэтому автор не счел нужным разрабатывать алгоритм ввода многих функций и заострил внимание собственно на самой задаче - расчете площади сложной фигуры с помощью метода имитационного моделирования и сравнение этого метода с числовыми методами. 9.2 Рекомендации по улучшению программы. При разработке программы автор упустил возможность работы с числовыми массивами. Поэтому, можно улучшить программу переписав ряд процедур под массивы , что сделает программу менее массивной и более наглядной. Широкое возможности по улучшению программы в области разработки алгоритмов ввода различный классов функций. Для решения задачи методом имитационного моделирования ограничим данную
Он чувствует своё глубокое превосходство как математика, поэтому не входит в мелочную полемику, а терпеливо старается растолковать свой метод, как это сделал бы учитель ученику. До Ферма систематические методы вычисления площадей разработал итальянский учёный Кавальери. Но уже в 1642 году Ферма открыл метод вычисления площадей, ограниченных любыми «параболами» и любыми «гиперболами». Им было показано, что площадь неограниченной фигуры может быть конечной. Ферма одним из первых занялся задачей спрямления кривых, т. е. вычислением длины их дуг. Он сумел свести эту задачу к вычислению некоторых площадей. Таким образом, понятие «площади» у Ферма приобретало уже весьма абстрактный характер. К определению площадей сводились задачи на спрямление кривых, вычисление сложных площадей он сводил с помощью подстановок к вычислению более простых площадей. Оставался только шаг, чтобы перейти от площади к ещё более абстрактному понятию «интеграл». Дальнейший успех методов определения «площадей», с одной стороны, и «методов касательных и экстремумов» — с другой, состоял в установлении взаимной связи этих методов
1. Расчет площади сложной фигуры с помощью метода имитационного моделирования
2. Вычисление площади сложной фигуры методом имитационного моделирования (Windows)
3. Исследование помехоустойчивого канала передачи данных методом имитационного моделирования на ЭВМ
4. Расчет двойного интеграла при помощи метода Симпсона
10. Имитационное моделирование
11. Имитационное моделирование системы массового обслуживания
12. Имитационное моделирование станции технического обслуживания
13. Графический редактор CorelDraw: рисование сложных фигур, создание пейзажей
14. Исследование температурного поля наружного угла методом электрического моделирования
15. Имитационное моделирование в анализе рисков инвестиционного проекта
16. Имитационное моделирование фирмы по оказанию полиграфических услуг
17. Программа имитационного моделирования работы банка
18. Имитационное моделирование жизненного цикла товара на примере ООО "Стимул"
19. Применение ППП Business Studio для имитационного моделирования ФСА бизнес-процесса предприятия
20. Приближенный метод решения интегралов. Метод прямоугольников (правых, средних, левых)
25. Метод ортогонализации и метод сопряженных градиентов
27. Методи визначення функції витрат та аналізу ризиків. Метод Монте-Карло
30. Имитационное биомеханическое моделирование как метод изучения двигательных действий человека
31. Исследование природных ресурсов планеты с помощью космических методов
32. "Семейный бюджет" (расчет с помощью программы Microsoft Excel 97)
33. Детский травматизм и методы самостоятельной помощи
34. Расчет линейных цепей методом топологических графов
35. Экономико-математические методы моделирования в землеустройстве
42. Методы расчетов бюджета стимулирования
43. Моделирование сложных системно-деятельностных объектов в психолого-педагогических исследованиях
44. Исследование и моделирование с помощью компьютера электрических полей
46. Философские аспекты моделирования как метода познания
47. Методы расчета естественного и искусственного освещения
48. Расчет ВНП двумя методами. Система национальных счетов
49. Системы и методы калькулирования себестоимости. Расчет себестоимости на примере ячеек КРУ
50. Гидродинамический метод расчетов водозаборных сооружений
51. Вычисление интеграла с помощью метода трапеций на компьютере
52. Расчет сетевой модели методом Форда (с программой)
53. Методы и алгоритмы построения элементов систем статистического моделирования
57. Метод дегазации угольных шахт с помощью сепаратора СЦВ-7
58. Криминалистическое моделирование как метод научного познания
59. Методы организации сложных экспертиз компьютерных систем
61. Реализация метода главных компонент с помощью библиотеки OpenCV
63. Численные методы расчетов в Exel
64. Графическое моделирование деталей масляного насоса с помощью графической системы AutoCAD
65. Методы расчета линейных электрических цепей при импульсном воздействии. Спектральный анализ сигналов
66. Расчет и моделирование цифрового фильтра
67. Резисторы и конденсаторы в «полупроводниковом» исполнении. Топологические решения и методы расчета
68. Моделирование процесса электростимуляции методом передаточной функции
69. Виды скидок и методы их расчета
73. Построение модели бизнес-плана парикмахерской с помощью имитационной модели
74. Принципы расчета и анализа длительности производственного цикла сложного процесса
75. Коррекция недостатков фигуры с помощью одежды
76. Методы и особенности работы практического психолога в области помощи ребенку с аутизмом
77. Общие и специальные методы исследования конфликтов с помощью опросника Айзенка
78. Сказкотерапия как методы психологической помощи детям в ситуации развода родителей
79. Расчет статически неопределимых рам методом перемещений
80. Резистивные электрические цепи и методы их расчета
81. Методы расчета цепей постоянного тока
82. Операторный метод расчета переходных процессов в линейных цепях
83. Моделирование как метод познания окружающего мира
84. Фигуры и модусы силлогизма: отбор правильных модусов с помощью круговых схем Эйлера
85. Рентабельность:методы расчета и система оценки на предприятии
89. Эластичность: понятие, виды и методы расчета
90. Имитационное структурное моделирование системы
91. Моделирование продуктового расчета пивоваренного производства
92. Изучение миксомицетов среднего Урала, выращенных методом влажных камер
93. Методы исследования в цитологии
94. МЕТОДЫ ИЗУЧЕНИЯ ЭВОЛЮЦИИ ЧЕЛОВЕКА
96. Обзор методов и способов измерения физико-механических параметров рыбы
97. Новейшие методы селекции: клеточная инженерия, генная инженерия, хромосомная инженерия