Автор: Пользователь скрыл имя, 29 Марта 2012 в 01:21, курсовая работа
Цель данной курсовой работы — изучение методов компьютерного моделирования с применением систем компьютерной математики на примере построения модели виброударного механизма – вибромолота.
Введение
В своей деятельности человек очень часто использует модели окружающего мира. Модели позволяют представить в наглядной форме объекты и процессы, недоступные для непосредственного восприятия (движение планет и молекул, рост дерева и полет пули, и т.д.).
Модели играют чрезвычайно важную роль в проектировании и создании различных технических устройств, машин и механизмов, зданий, электрических цепей и пр. Без предварительного создания чертежа невозможно изготовить даже простую деталь, не говоря уже о сложном механизме, разработка электрической схемы обязательно предшествует созданию электрических цепей и т. д.
Внедрение компьютерной техники позволяет существенным образом изменить методику изучения некоторых вопросов, связанных с осуществлением громоздких, многократно повторяющихся вычислительных процедур, решением систем дифференциальных уравнений, построением графиков и поверхностей, наглядным представлением результатов решения задачи. Если раньше поведение физической системы анализировалось исключительно аналитически, то теперь появилась возможность применения численных методов компьютерного моделирования, что имеет определенные преимущества.
Быстрое развитие вычислительной техники позволило резко увеличить сложность используемых моделей. Появилась возможность строить модели, учитывающие значительное разнообразие действующих факторов.
Применение современных систем компьютерной математики позволяет значительно упростить и ускорить моделирование динамических систем, что имеет большое значение в проектировании и производстве; а, следовательно, актуально для нас, как программистов, в дальнейшем.
Данная курсовая работа предоставляет возможность, приобрести практические навыки построения диинамических моделей с помощью специплизированных систем компьютерного моделитрования.
Цель данной курсовой работы — изучение методов компьютерного моделирования с применением систем компьютерной математики на примере построения модели виброударного механизма – вибромолота.
1 Компьютерное моделирование систем
1.1 Общие сведения о модели и моделировании
Модель - это упрощенное представление исследуемого объекта (системы). Она должна отражать наиболее существенные (с точки зрения цели исследования) свойства изучаемого объекта. Объект, для которого создается модель, принято называть оригиналом. Не всегда есть возможность или целесообразность исследовать непосредственно оригинал. Часто исследования проводят на модели оригинала, а затем результаты исследования переносят на оригинал. В зависимости от цели исследования для одного и того же оригинала может быть создано несколько моделей.[1]
Моделирование - это процесс создания модели, её исследование и обработка полученных результатов. Чаще всего моделированием занимаются при анализе существующих объектов (систем) или в процессе проектирования таких объектов (систем).
Строго говоря, моделированием человечество занимается с давних времен. Еще с детства человек познает мир, сначала через игрушки и игра, и отображает, или моделирует, действительность. С годами человек использует более сложные модели, отражающие более сложной ситуации. Моделирование позволяет анализировать даже ситуации, в которых реальный объект не может функционировать. Можно моделировать, например, катастрофы, редчайшие случаи и даже такие явления и процессы, которых не существует в реальности.
Сейчас методы моделирования широко используют во всех сферах деятельности человека – от конструирования моделей технических, технологических и организационных систем до разрешения проблем развития человечества и Вселенной. Сегодня самый мощный в мире суппер-компьютер NEC Vector SX6 установлен в центре моделирования Земли в Йокагаме (Япония) и используется для моделирования основных на свойств климатической системы Земли.[2]
1.2 Соотношение между моделью и оригиналом
Научной основой моделирования является теория подобия. Основным в этой теории есть понятие аналогии, т.е. подобие объектов за некоторыми признаками. Подобные объекты называются аналогами.
Аналогия между объектами может устанавливаться по качественным, по количественным признакам или по тем и другим.
Основным видом количественной аналогии является математическое подобие. Объекты в этом случае описываются аналогичными уравнениями или функциями, отличающимися только значениями коэффициентов или констант.
Другим видом количественной аналогии можно считать физическое подобие. В этом случае объекты не могут бить описаны математически, и их подобие определяется соотношением физических параметров, которые характеризуют исследуемый процесс в оригинале и на модели.
Любая модель отражает свойства оригинала лишь частично. И чем больше свойств оригинала отражено в модели, тем ближе модель к оригиналу, тем она точнее. Но одновременно с повышением точности модели растет и её сложность. Исследователю постоянно приходится искать компромисс между желаемой точностью модели и её сложностью.
На степень соответствия между объектом и моделью указывают два понятия: изоморфизм и гомоморфизм.
Объект и его модель изоморфны, если существует взаимнооднозначное соответствие между ними, благодаря которому можно преобразовать одно представление на другое. Строго доведённый изоморфизм для объектов разной природы дает возможность переносить знания с одной области в другую.
Однако существуют и менее тесные связи между объектом и моделью. Это так называемые гомоморфные связи. Они устанавливают однозначное соответствие только в одну сторону - от модели к объекту.[2]
1.3 Классификация моделей и моделирования
Модели условно можно разбить на две группы - материальные модели и идеальные. Первой группе соответствует предметное моделирование, а второй абстрактное.
Основными разновидностями предметного моделирования являются физическое и аналоговое моделирование. Физическим принято называть моделирование, при котором реальный объект заменяется его увеличенной или уменьшенной копией. Копия сохраняет геометрические пропорции и физические принципы действия.
Аналоговое моделирование основано на замене исходного объекта объектом другой физической природы (объектом - аналогом). Поведение аналога определяется аналогичными физическими законами. Например, колебания и резонанс в механических системах аналогичны колебаниям и резонансу в электрических цепях.
Идеальные модели - это абстрактные образы замещаемых объектов. Различают два типа идеального моделирования: интуитивное и знаковое. Интуитивное моделирование используется человеком и другими живыми существами для отражения окружающего мира и предсказания его реакций. Каков механизм интуитивного моделирования – не известно.
Знаковое моделирование предполагает использование в качестве моделей знаков или символов: схем, графиков, сетей, чертежей и т.д. Наиболее важным видом знакового моделирования является математическое моделирование.
Обязательным участником знакового моделирования является интерпретатор знаковой модели. Интерпретатором, как правило, выступает человек, понимающий смысл используемых знаков, однако уже существует множество технических устройств, обладающих схожими возможностями.
В зависимости от того, изменяются свойства модели во времени или не изменяются, модели делятся на динамические и статические.
В зависимости от того, как отображаются состояния модели во времени, различают дискретные, непрерывные и дискретно – непрерывные (гибридные) модели.
Кроме того, модели делятся на детерминированные и стохастические (вероятностные).[2]
1.4 Инструментарий реализации динамических моделей
В рамках данного курсового проекта модели были реализованы в следующих системах компьютерной математики: Matlab и MathCAD. Рассмотрим подробнее эти системы.
Mathcad — программа для выполнения и документации инженерных и научных расчётов. Появившись в 1986 году для платформы MS-DOS, Mathcad впервые среди программ подобного рода использовал наборную математическую нотацию, совмещённую с автоматической системой вычислений. Также впервые было реализовано автоматическое вычисление и проверка единиц измерения. На сегодняшний день Mathcad включает некоторые возможности алгебраических систем для ЭВМ, но при этом сохраняет ориентацию на инженерные приложения.[3]
Основные возможности Mathcad:
Решение дифференциальных уравнений различными численными методами
Построение двух- и трёхмерных графиков функций
Выполнение вычислений в символьном режиме
Выполнение операций с векторами и матрицами
Символьное решение систем уравнений
Аппроксимация кривых
Выполнение подпрограмм
Поиск корней многочленов и функций
Проведение статистических расчётов и работа с распределением вероятностей
Поиск собственных чисел и векторов
Вычисления с единицами измерения
Интеграция с САПР системами, использование результатов вычислений в качестве управляющих параметров
Mathcad часто используется в крупных инженерных проектах, где большое значение имеет соответствие стандартам.[4]
В данной курсовой работе использованы следующие возможности Mathcad:
дискретные переменные;
работа с векторами и матрицами
построение графиков табличных функций
решение дифференциальных уравнений 1-го и 2-го порядков с применением стандартных функций.
rkfixed – функция для решения ОДУ и систем ОДУ методом Рунге–Кутта четвертого порядка с постоянным шагом;
Rkadapt – функция решения ОДУ и систем ОДУ методом Рунге–Кутта с переменным шагом;
Bulstoer – функция решения ОДУ и систем ОДУ методом Булирша-Штера(Bulirsch-Stoer method) с использованием рациональной экстраполяции для системы уравнений;
Odesolve – функция, решающая ОДУ блочным методом.
Ниже приведено описание стандартной функции rkfixed с указанием параметров функции.
rkfixed(y, x1, x2, points, D)
Аргументы функции:
y – вектор начальных условий из k элементов (k – количество уравнений в системе);
x1 и x2 – левая и правая границы интервала, на котором ищется решение ОДУ или системы ОДУ;
p – число точек внутри интервала (x1, x2), в которых ищется решение;
D – вектор, состоящий из k-элементов, который содержит первую производную искомой функции или первые производные искомых функций, если речь идет о решении системы.
Результатом работы функции является матрица из p+1 строк, первый столбец которой содержит точки, в которых получено решение, а остальные столбцы – сами решения.
Применение этой функции приведено в пункте 3.1.
Matlab — это высокопроизводительный язык для технических расчетов. Он включает в себя вычисления, визуализацию и программирование в удобной среде, где задачи и решения выражаются в форме, близкой к математической. Matlab используется для математических вычислений, создания алгоритмов, моделирования, анализа данных, исследования и визуализации, научной и инженерной графики, разработки приложений.
Matlab — это интерактивная система, в которой основным элементом данных является массив. Это позволяет решать различные задачи, связанные с техническими вычислениями, особенно в которых используются матрицы и вектора, в несколько раз быстрее, чем при написании программ с использованием "скалярных" языков программирования, таких как Си или Фортран.
Система Matlab состоит из пяти основных частей.
Язык Matlab — это язык матриц и массивов высокого уровня с управлением потоками, функциями, структурами данных, вводом-выводом и особенностями объектно-ориентированного программирования.
Среда Matlab — Это набор инструментов и приспособлений, с которыми работает пользователь или программист Matlab. Она включает в себя средства для управления переменными в рабочем пространстве Matlab, вводом и выводом данных, а также создания, контроля и отладки М-файлов и приложений Matlab.
Управляемая графика — это графическая система Matlab, которая включает в себя команды высокого уровня для визуализации двух- и трехмерных данных, обработки изображений, анимации и иллюстрированной графики. Она также включает в себя команды низкого уровня, позволяющие полностью редактировать внешний вид графики, также как при создании Графического Пользовательского Интерфейса (GUI) для Matlab приложений.
Библиотека математических функций — это обширная коллекция вычислительных алгоритмов от элементарных функций, таких как сумма, синус, косинус, комплексная арифметика, до более сложных, таких как обращение матриц, нахождение собственных значений, функции Бесселя, быстрое преобразование Фурье.
Программный интерфейс — это библиотека, которая позволяет писать программы на Си и Фортране, которые взаимодействуют с Matlab. Она включает средства для вызова программ из Matlab (динамическая связь), вызывая Matlab как вычислительный инструмент и для чтения-записи mat-файлов.[5]
В данной курсовой работе использованы следующие возможности Matlab:
графический интерфейс (формирование дизайна рабочего окна с использованием M-файла; функции, использованные для создания визуальных объектов – uicontrol, axes, figure, imread);
процедуры обработки событий (нажатие кнопки) с подключением M-файла;