Uploaded by Никита Безруков

Курсовой проект

advertisement
СОДЕРЖАНИЕ
СОДЕРЖАНИЕ ..................................................................................................... 1
ВВЕДЕНИЕ ........................................................................................................... 2
1.
Представление о компьютерное моделировании ..................................... 3
1.1 Построение компьютерной модели............................................................ 4
1.2 Вычислительный эксперимент ................................................................... 5
1.3 Обзор численных методов решения дифференциальных уравнений..... 6
1.4 Метод Эйлера ............................................................................................... 6
1.5 Метод Рунге-Кутта....................................................................................... 9
2.
Пример решения задачи с помощью Mathcad ......................................... 10
3.
Обзор Mathcad ............................................................................................ 17
ЗАКЛЮЧЕНИЕ ................................................................................................... 20
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ .......................................... 21
ВВЕДЕНИЕ
Моделирование в научных исследованиях стало применяться еще в
глубокой древности и постепенно захватывало все новые области научных
знаний:
техническое
конструирование,
строительство
и
архитектуру,
астрономию, физику, химию, биологию и, наконец, общественные науки.
Большие успехи и признание практически во всех отраслях современной
науки
принес
методу
моделирования
ХХ
в.
Однако
методология
моделирования долгое время развивалась независимо отдельными науками.
Отсутствовала единая система понятий, единая терминология.
Лишь постепенно стала осознаваться роль моделирования как
универсального метода научного познания. Термин "модель" широко
используется в различных сферах человеческой деятельности и имеет
множество смысловых значений.
В нынешнее время компьютерные технологии плотно вошли в жизнь
людей. Для облегчения исследований люди начали создавать новые методы и
устройства, используя новые технологии.
В данное время техника уже полностью взяла на себя всю большую
часть нагрузки в расчетах и проектировании, при этом существенно снизив
финансовые затраты и использование трудовых ресурсов.
Решение прикладных задач пользователя в той или иной области
приложений поддерживают прикладные компьютерные системы специального
или общего назначения.
Современные задачи чаще всего решаются с использованием программ
компьютерной математики. В данное время широкое распространение получили
следующие математические системы: MathCAD, Matlab, Simintech, Mathematica.
Последние версии этих систем обладают развитым интерфейсом, языком
программирования высокого уровня и возможностью создания проекта в
мультимедийном оформлении. Каждая из программ служит для выполнения
определенных поставленных задач.
1. Представление о компьютерное моделировании
Компьютерное моделирование является одним из эффективных методов
изучения сложных систем. Компьютерные модели проще и удобнее
исследовать
в
силу
их
возможности
проводить
вычислительные
эксперименты, в тех случаях, когда реальные эксперименты затруднены из-за
финансовых или физических препятствий или могут дать непредсказуемый
результат. Логичность компьютерных моделей позволяет выявить основные
факторы, определяющие свойства изучаемого объекта-оригинала (или целого
класса объектов), в частности, исследовать отклик моделируемой физической
системы на изменения ее параметров и начальных условий.
Компьютерное моделирование как новый метод научных исследований
основывается на:
 Построении математических моделей для описания изучаемых
процессов;
 Использовании новейших вычислительных машин, обладающих
высоким быстродействием (миллионы операций в секунду) и
способных вести диалог с человеком.
Различают
аналитическое
и
имитационное
моделирование.
При
аналитическом моделировании изучаются математические (абстрактные)
модели реального объекта в виде алгебраических, дифференциальных и других
уравнений,
а
также
предусматривающих
осуществление
однозначной
вычислительной процедуры, приводящей к их точному решению. При
имитационном моделировании исследуются математические модели в виде
алгоритма, воспроизводящего функционирование исследуемой системы путем
последовательного выполнения большого количества элементарных операций.
1.1 Построение компьютерной модели
Построение компьютерной модели базируется на абстрагировании от
конкретной природы явлений или изучаемого объекта-оригинала и состоит из
двух этапов – сначала создание качественной, а затем и количественной
модели. Компьютерное же моделирование заключается в проведении серии
вычислительных экспериментов на компьютере, целью которых является
анализ, интерпретация и сопоставление результатов моделирования с
реальным
поведением
изучаемого
объекта
и,
при
необходимости,
последующее уточнение модели и т. д.
К этапам компьютерного моделирования относятся:
1. Постановка задачи, определение объекта моделирования: на данном
этапе происходит сбор информации, формулировка вопроса,
определение целей, формы представления результатов, описание
данных.
2. Анализ и исследование системы: анализ системы, содержательное
описание объекта, разработка информационной модели, анализ
технических и программных средств, разработка структур данных,
разработка математической модели.
3. Формализация, то есть переход к математической модели, создание
алгоритма: выбор метода проектирования алгоритма, выбор формы
записи алгоритма, выбор метода тестирования, проектирование
алгоритма.
4. Программирование: выбор языка программирования или прикладной
среды для моделирования, уточнение способов организации данных,
запись алгоритма на выбранном языке программирования (или в
прикладной среде).
5. Проведение
серии
вычислительных
экспериментов:
отладка
синтаксиса, семантики и логической структуры, тестовые расчеты и
анализ результатов тестирования, доработка программы.
6. Анализ и интерпретация результатов: доработка программы или
модели в случае необходимости.
1.2 Вычислительный эксперимент
Эксперимент – это опыт, который производится с объектом или
моделью. Он заключается в выполнении некоторых действий, чтобы
определить, как реагирует экспериментальный образец на эти действия.
Вычислительный
эксперимент
предполагает
проведение
расчетов
с
использованием формализованный модели.
Использование компьютерной модели, реализующей математическую,
аналогично проведению экспериментов с реальным объектом, только вместо
реального
эксперимента
с
объектом
проводится
вычислительный
эксперимент с его моделью. Задавая конкретный набор значений исходных
параметров модели, в результате вычислительного эксперимента получают
конкретный набор значений искомых параметров, исследуют свойства
объектов или процессов, находят их оптимальные параметры и режимы
работы, уточняют модель. Например, располагая уравнением, описывающим
протекание того или иного процесса, можно, изменяя его коэффициенты,
начальные и граничные условия, исследовать, как при этом будет вести себя
объект. Более того, можно спрогнозировать поведение объекта в различных
условиях. Для исследований поведения объекта при новом наборе исходных
данных необходимо проведение нового вычислительного эксперимента.
Для проверки адекватности математической модели и реального
объекта, процесса или системы результаты исследований на ЭВМ
сравниваются с результатами эксперимента на опытном натурном образце.
Результаты проверки используются для корректировки математической
модели или решается вопрос о применимости построенной математической
модели к проектированию либо исследованию заданных объектов, процессов
или систем.
Вычислительный эксперимент позволяет заменить дорогостоящий
натурный эксперимент расчетами на ЭВМ. Он позволяет в короткие сроки и
без значительных материальных затрат осуществить исследование большого
числа вариантов проектируемого объекта или процесса для различных
режимов его эксплуатации, что значительно сокращает сроки разработки
сложных систем и их внедрение в производство.
1.3 Обзор
численных
методов
решения
дифференциальных
уравнений
Дифференциальные уравнения, которые можно проинтегрировать
известными методами, встречаются сравнительно редко. В связи с этим особое
значение приобретают приближенные методы решения дифференциальных
уравнений. Эти методы делятся на две группы. Применение аналитических
методов дает приближенное решение в виде аналитического выражения,
численных- в виде таблицы численных значений.
Наиболее распространенными из численных методов, применяемых в
математическом моделировании, являются метод Эйлера и метод Рунге-Кутта.
1.4 Метод Эйлера
Метод Эйлера основан на непосредственной замене производной
разностным отношением по приближенной формуле. По методу Эйлера в
формуле Тейлора не учитываются члены, содержащие производные второго и
более высокого порядка.
Метод Эйлера имеет первый порядок точности, откуда следует, что для
достижения высокой точности требуется мелкий шаг, что экономически не
выгодно. Достоинством метода является его простота. Метод Эйлера
используют для более точных многошаговых методов.
Пусть
требуется
решить
дифференциального уравнения
задачу
Коши:
найти
решение
у'=(х, у)
(1)
удовлетворяющее условию
у=у0 при х=х0, т. е. у(ха) =у0
(2)
При численном решении уравнения (1.1) задача ставится так: точках х0,
x1, х2, ..., хп найти приближения уп для значений точного решения у(хп).
Разность x=xn+1—xn = h называется шагом сетки. Во многих случаях
принимают величину h постоянной, тогда
Хn=Х0=nh(n=0,1,2,…)
(3)
Приближенно можно считать, что правая часть уравнения (1.1) остается
постоянной на каждом из отрезков между точками деления
Метод Эйлера состоит в непосредственной замене производной
разностным отношением по приближенной формуле
(4)
В силу сделанных предположений на первом отрезке искомое решение
приближенно представляется линейной функцией
(5)
в частности, при x=x1 получаем y1=y0+ht(x0, y0). Равенство (1.4)
означает, что на отрезке [х0, xo+h] искомую интегральную кривую у=у(х)
приближенно заменяют прямолинейным отрезком, выходящим из начальной
точки М0(х0, у0) с угловым коэффициентом f(xQ, у0). Аналогично находим
приближенное значение y2: y2 = y1+hf(x1,y1).
Для точки xn = xo+nh получаем
(6)
Таким образом, в качестве приближения искомой интегральной кривой
получаем линию с вершинами в точках М0(х0, уо), M1(y1, y2), .... Мп(хп, уп)
Вычисление приближений уп искомого решения у(х) по формуле (6)
представляет собой обыкновенный метод Эйлера. Этот метод дает весьма
грубое приближение решения задачи Коши. Он обычно используется в случае,
когда необходимо получить примерное представление о решении на
небольшом промежутке. Если функция f(x, у) в уравнении (1) на некотором
отрезке в рассматриваемой области непрерывна по х и удовлетворяет условию
Липшица
погрешность обыкновенного метода Эйлера оценивается формулой
(7)
1.5 Метод Рунге-Кутта
Метод Рунге-Кутта является одним из наиболее употребительных
численных методов повышенной точности. Низкая точность метода Эйлера
связана в первую очередь с тем, что остаточный член формулы Эйлера велик.
Очевидно, что для уменьшения погрешности вычисления необходимо
увеличить количество учитываемых членов в формуле Тейлора. Наиболее
распространенным является метод Рунге-Кутта 4-го порядка, в котором
учтены производные до 4-го порядка включительно. Метод Эйлера можно
рассматривать как метод Рунге-Кутта 1-го порядка. Метод Рунге-Кутта
требует большого объёма вычислений, однако расчёт оказывается более
точным, чем расчёт по методу Эйлера с тем же шагом.
Величина погрешности метода оценивается с помощью правила Рунге.
Значение оценки Рунге состоит в том, что погрешность оценивается через
величины, получаемые непосредственно в процессе счёта. На этой формуле
основан метод автоматического выбора шага в процессе счёта в стандартных
программах. Методы Рунге-Кутта обладают следующими свойствами:
а) Эти методы являются одноступенчатыми: чтобы найти уm+1, нужна
информация о предыдущей точке xm, ym.
б) Они согласуются с рядом Тейлора вплоть до членов порядка hp, где
степень р различна для различных методов и называется порядковым номером
или порядком метода.
в) Они не требуют вычисления производных от f (x,y), а требуют
вычисления самой функции.
Наиболее точный метод решения – метод Рунге-Кутта 4 порядка, один
из самых употребляемых методов интегрирования дифференциальных
уравнений.
-этот метод является одноступенчатым и одношаговым;
-требует информацию только об одной точке;
-имеет небольшую погрешность;
-значение функции рассчитывается при каждом шаге.
Формулы, описывающие классический метод Рунге-Кутта четвертого
порядка, состоят из следующих пяти соотношений:
ym+1=ym+h/6(R1+2R2+2R3+R4)
(8)
R1=f(xm,ym)
(9)
R2=f(xm+h/2,ym+hR1/2)
(10)
R3=f(xm+h/2,ym+hR2/2)
(11)
R4=f(xm+h/2,ym+hR3/2)
(12)
Ошибка ограничения для этого метода равна et=kh5
Значит формулы 8 - 12 описывают метод Рунге-Кутта четвертого
порядка. Однако при использовании этого метода функцию необходимо
вычислять четыре раза.
2. Пример решения задачи с помощью Mathcad
В
данной
курсовой
работе
необходимо
применить
СКМ
для
исследования математической модели RLC-цепи с использованием системы
MathCAD.
Рассчитать значения функций тока на катушке индуктивности и
напряжения на конденсаторе в заданной электрической схеме под воздействием
начальных значений тока и напряжения без учета ЭДС. Построить графики
этих функций.
Рассчитать значения функций тока на катушке индуктивности и
напряжения на конденсаторе в заданной электрической схеме с различными
значениями ЭДС. Построить графики этих функций.
Для функции напряжения, полученной в п.1.2 при ЭДС1, исследовать
влияние сопротивления R1 на максимальное значение напряжения на
конденсаторе. Построить на одном поле графики токов, полученные при
разных значениях варьируемого параметра.
Для функции напряжения, полученной в п.1.2, вычислить время, при
котором напряжение пересекает пороговое значение равное 0.1 В.
Для решения данных уравнений необходимо задать данные, для
решения дифференциальных уравнений:
Е1= 10sin450t (В) – значение ЕДС;
E2= Asin150t+Bsin(210t) – значение ЕДС;
R1=5 (Ом)
R2= 10 (Ом)
R3=10 (Ом) – сопротивление;
R4 =3 (Ом)
C = 2∙10-3 (Ф) – исходная емкость;
L = 0,4 (Гн) – исходная индуктивность;
UC1 = 0,1 (В) – начальное значение напряжения;
i0 = 0 (А) – начальное значение тока;
Т= 0,1 (с)– время исследования
Результирующими данными в системе уравнений являются ток i и
напряжение U.
Для решения ДУ (1) и (2) с помощью функции rkfixed, производим
необходимые замены:
A1=uc A2=iL
Получаем уравнения в форме Коши:
d
dt
d
dt
A1 =
A2 =
A2 −A1 ∙(
1
1
+ )
R2 R3
C
E−A1 ∙(R1+R4)−A2
L
Графическая схемы алгоритмов реализации задачи:
Рисунок 2- Графическая схема алгоритма реализации задачи в MatCAD
Рисунок 3- Графическая схема алгоритма вычисления программного фрагмента
Описание графической схемы алгоритма реализации задачи в MatCAD:
 Вводим исходные данные.
 Записываем систему ДУ и решаем её с помощью функции rkfixed.
 Находим численные значения времени, напряжения, тока в 1000 точках.
 Строим графики зависимости напряжения от времени и тока от времени.
 Изменяем варьируемый параметр ЭДС и выполняем пункты 2,3,4.
 Изменяем варьируемый параметр R и выполняем пункты 2,3,4.
 Полученные графики в пункте 6 соединяем в одном.
 По полученным данным проводим аппроксимацию с помощью функции
linfit.
 Строим график аппроксимирующей зависимости.
 Для функции напряжения находим значение времени при котором
напряжение пересекает пороговое значение равное 0.1 В при помощи
программного фрагмента.
 Строим график зависимости напряжения от времени и выделяем на нем
точку пересечения значения напряжения с пороговым значением.
Описание графической схемы алгоритма вычисление программного
фрагмента:
Искомый номер переменной в таблице P (Приложение В) обозначим за S
и приравняем его к нулю. Номер строки в таблице обозначим за i и приравняем
его к единице. Если P_i больше или равен пороговому значению времени, то
искомое S равно номеру строки i, следственно и номеру искомой переменной.
Выводим номер переменной в таблице S и его значение.
Строим графики полученных зависимостей функции напряжения и тока
от
времени
(рисунок
A.1,
рисунок
А.2).
Аналогичным
способом
рассчитываются значения функций тока на катушке индуктивности и
напряжения на конденсаторе в заданной электрической схеме с различными
значениями ЭДС.
Рисунок 5- график зависимости ЭДС 2 от времени, данный в условии
Так как функция E(t) задана графически для начала зададим зависимость.
Из рисунка 4 берем координаты функции E(t) и задаем их в MathCAD. После
получения результатов строим графики полученных зависимостей функции
напряжения и тока от времени (рисунок A4, рисунок А.5, рисунок А.6, рисунок
А.6)
Рисунок 6- Сводный график зависимости тока от времени
В ходе проведённых опытов было установлено, что при изменении
сопротивления R от 10 до 50 Ом амплитуда напряжений уменьшается(Рисунок
7). Значение времени при пороговом значение напряжения u=0.1 В равно 0.25
с. Номер данного элемента в таблице – 125. Пересечение порогового значения
и найденного времени показано на рисунке 8.
Рисунок 7- График аппроксимирующей зависимости
Рисунок 8- График зависимости напряжения от времени
3. Обзор Mathcad
Mathcad — система компьютерной алгебры из класса систем
автоматизированного проектирования, ориентированная на подготовку
интерактивных документов с вычислениями и визуальным сопровождением,
отличается легкостью использования и применения для коллективной работы.
К важным достоинствам новых версий Mathcad относятся настройка под
любой малоизвестный тип печатающих устройств, богатый набор шрифтов,
возможность использования всех инструментов Windows, прекрасная графика
и современный многооконный интерфейс.
В новые версии Mathcad включены эффективные средства оформления
документов в цвете, возможность создания анимированных (движущихся)
графиков и звукового сопровождения. Тут же текстовый, формульный и
графический
редакторы,
объединенные
с
мощным
вычислительным
потенциалом. Предусмотрена и возможность объединения с другими
математическими и графическими системами для решения особо сложных
задач.
Рисунок 9 – Интерфейс Mathcada
Общение пользователя с системой Mathcad происходит на уровне так
называемого входного языка, максимально приближенного к обычному языку
описания математических задач. Поэтому решение таких задач не требует
программирования в общепринятом смысле — написания программ на
некотором промежуточном языке или в машинных кодах.
Вот, к примеру, как выглядит вычисление квадрата переменной х с
заданным значением х=3 на популярном языке Бейсик и на Mathcad:
Бейсик Mathcad Комментарий
х = LET(3)
х := 3 Переменной Х присваивается значение 3
У = х^2
у := х2 Переменной у присваивается значение Х в
PRINT("y=";y)
у= 9
Вывод
значения переменной у
квадрате
Входной язык Mathcad относится к интерпретируемому типу. Это
означает, что, когда система опознает какой-либо объект, она немедленно
исполняет указанные в блоке операции. Объектами системы могут быть
формульные, текстовые и графические блоки. При этом формульные блоки
могут иметь особые признаки — атрибуты, например, активности,
пассивности и оптимизации.
Важно сразу учесть, что Mathcad выполняет действия над блоками в
строго определенном порядке - блоки анализируются (оцениваются) слева
направо и сверху вниз. Это означает, что блоки нельзя располагать в
документе произвольно. Блоки, готовящие какие-либо операции, должны
предшествовать блокам, которые выполняют эти операции. Исключением
являются блоки с глобальным определением (они также будет рассмотрены
позже). Их можно располагать в любом месте документа, например в конце.
Пакет MATHCAD предоставляет широкие графические возможности.
Кроме того, здесь можно использовать чертежи и рисунки, полученные в
других графических системах.
Рисунок 10 -Графические возможности Mathcad
ЗАКЛЮЧЕНИЕ
В данной курсовой работе с помощью Mathcad была исследована
математическая модель электрической цепи. Были рассчитаны функции
напряжений и тока, установлено влияние изменения сопротивления на
амплитуду тока цепи, вычислены аналитические аппроксимирующие
функции зависимости амплитуды напряжений от сопротивления. Было
найдено значение времени при достижении напряжением порогового
значения.
Итак, Mathcad позволяет записывать на экране компьютера формулы в
их привычном арифметическом виде. С их помощью можно решить почти
любую мыслимую математическую задачу символьно либо численно. Можно
размещать текст в любых местах вокруг уравнений, чтобы документировать
процесс решения.
После проделанной работы стало понятно, что для решение прикладных
задач пользователя в той или иной области обязательное использование
приложений
поддерживают
прикладные
компьютерные
системы
специального или общего назначения.
Таким образом стало ясно, что современные задачи чаще всего
решаются с использованием программ компьютерной математики. В данном
примере был рассмотрен Mathcad. Самая последняя версия этой системы
обладает развитым интерфейсом, языком программирования высокого уровня
с возможностью создания проекта в мультимедийном оформлении.
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ
1.
Тарасик В. П. Математическое моделирование технических систем, -
Мн.: ДизайнПРО, 1997.- 640с
2.
Турчак Л.И. Основы численных методов. - М.: Наука, 1987.
3.
Трохова Т. А., Самоведнюк Н. В., Романькова Т. Л. Практическое
руководство к курсовому проектированию по курсу "Информатика" для
студентов технических специальностей дневной и заочной форм обучения. Гомель: Учреждение образования "ГГТУ имени П.О.Сухого", 2004. – 34 с.
Download