Применение систем компьютерного моделирования для исследования математической модели RLC-цепи

Компьютерное моделирование - вид технологии. Анализ электрических процессов в цепях второго порядка с внешним воздействием с применением системы компьютерного моделирования. Численные методы аппроксимации и интерполяции и их реализация в Mathcad и Matlab.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 21.12.2013
Размер файла 1,1 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

МИНИСТЕРСТВО ОБРАЗОВАНИЯ РЕСПУБЛИКИ БЕЛАРУСЬ

УЧРЕЖДЕНИЕ ОБРАЗОВАНИЯ

ГОМЕЛЬСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ ИМЕНИ П.О. СУХОГО

Энергетический факультет

Кафедра "Информатика"

Курсовая работа

по дисциплине "Информатика"

на тему: "Применение систем компьютерного моделирования для исследования математической модели RLC-цепи"

Исполнитель: студент гр. ЭС-21

Касаткин А. А.

Руководитель: преподаватель

Богданова Н. С.

Гомель 2013

Содержание

  • Введение
  • 1. Характеристика численных методов аппроксимации и интерполяции и их реализации в Mathcad и Matlab
  • 1.1 Аппроксимация данных в MathCAD
  • 1.2 Интерполяция данных в MathCAD
  • 1.3 Реализация интерполяции и аппроксимации данных в MathCAD и Matlab
  • 2. Алгоритмический анализ задачи
  • 2.1 Полная постановка задачи
  • 2.2 Описание математической модели
  • 2.3 Анализ исходных и результирующих данных
  • 2.4 Графическая схема алгоритма и её описание
  • 3. Описание реализации задачи в MathCAD
  • 3.1 Описание реализации базовой модели
  • 3.2 Описание исследований
  • 3.3 Выводы по результатам исследований
  • Заключение
  • Список использованных источников
  • Приложения

Введение

Компьютерное моделирование, как вид технологии, в настоящее время является одним из важнейших факторов ускорения научно-технического прогресса. Сегодня практически невозможно производить проектирование и расчеты вручную. Системы компьютерного моделирования позволяют решать многие вопросы и задачи, связанные с различными отраслями, такими как информатика, физика, математика, механика, астрофизика и другие. В нашем случае, при помощи систем компьютерного моделирования, таких как MathCAD и Matlab, исследуем математическую модель RLC-цепи.

Основная цель работы:

Анализ электрических процессов в цепях второго порядка с внешним воздействием с применением СКМ.

Задачи курсовой работы:

С использванием системы Mathcad рассчитать значения функций тока в цепи и напряжения на конденсаторе в заданной электрической схеме под воздействием заданных значений тока, напряжения и ЭДС. Исследовать влияние варьируемой индуктивности на минимальное значение напряжения на конденсаторе. С использованием системы Matlab, для функции напряжения, вычислить время, при котором напряжение пересекает пороговое значение равное 1 В.

1. Характеристика численных методов аппроксимации и интерполяции и их реализации в Mathcad и Matlab

1.1 Аппроксимация данных в MathCAD

В инженерной практике часто необходимо получить аналитическую функциональную зависимость по результатам эксперимента, заданным табличной функцией. Этот процесс называется приближением или аппроксимацией.

Аппроксимация - это замена исходной функции f (x) на функцию g (x) так, чтобы отклонение f (x) от g (x) в заданной области было наименьшим.

MathCAD позволяет проводить линейную регрессию общего вида, в которой аппроксимирующая функция задается линейной комбинацией функций, причем сами функции fi (x) могут быть нелинейными:

(1)

Линейная регрессия общего вида реализуется с помощью функции linfit: linfit (VX, VY,F), где VX, VY - координаты исходных точек; F - вектор, содержащий функции fi (x), записанные в символьном виде.

Функция linfit еще называется функцией аппроксимации по методу наименьших квадратов.

Результатом работы функции linfit является вектор коэффициентов К, при котором среднеквадратичная погрешность приближения исходных точек с координатами VX, VY, минимальна.

Вектор VX должен быть возрастающим.

компьютерное моделирование интерполяция аппроксимация

Полиномиальная регрессия позволяет аппроксимировать зависимость полиномом произвольной степени. [1]

Вычисление коэффициентов полинома осуществляется с помощью встроенной функции regress, которая имеет следующий общий вид: regress (VX, VY, n), где VX, VY - вектора с координатами исходных данных, n - порядок полинома (первые три возвращаемые коэффициенты служебные, а далее искомые значения, расположенные по возрастанию степени полинома).

Для построения аппроксимирующей зависимости можно воспользоваться либо встроенной функцией interp (VK,VX, VY,x), либо функцией

(2)

где VK - вектор коэффициентов, рассчитанных функцией regress;

x - рассчитываемая точка.

Для проведения регрессии необходимо что бы вектор VX был возрастающим и количество его элементов было больше степени полинома на 1. Функция regress определяет единственный приближающий полином, элементы которого вычисляются по всей совокупности точек.

Для выполнения нелинейной регрессии общего вида необходимо определить параметры произвольной аппроксимирующей функции, при которой обеспечивается минимальная среднеквадратичная ошибка.

Для этого используется встроенная функция genfit, имеющая следующий общий вид: б genfit (VX,VY,VS,F), где VS - вектор, который задает начальные приближения элементов вектора K, рассчитываемых итерационным способом; F - вектор, который содержит искомую функцию и ее частные производные по параметрам Ki в аналитическом виде: [2]

(3)

1.2 Интерполяция данных в MathCAD

Интерполяция использует значения некоторой функции, заданные в ряде точек, чтобы предсказать значения функции между ними. В Mathcad можно или соединять точки данных прямыми линиями (линейная интерполяция) или соединять их отрезками кубического полинома (кубическая сплайн-интерполяция).

В отличие от функций регрессии, функции интерполяции определяют кривую, точно проходящую через заданные точки. Линейное предсказание заключается в использовании существующих значений данных, чтобы предсказать значения за их пределами. В Mathcad есть функция, которая позволяет предсказывать будущие значения данных на основе уже имеющихся данных. [1]

Линейная интерполяция

При линейной интерполяции Mathcad соединяет существующие точки данных прямыми линиями. Это выполняется функцией linterp, описанной ниже.

linterp (vx, vy, x)

Использует векторы данных vx и vy, чтобы возвратить линейно интерполируемое значение y, соответствующее третьему аргументу x. Аргументы vx и vy должны быть векторами одинаковой длины. Вектор vx должен содержать вещественные значения, расположенные в порядке возрастания.

Эта функция соединяет точки данных отрезками прямых, создавая таким образом ломаную. Интерполируемое значение для конкретного x есть ордината y соответствующей точки ломаной.

Функция linterp предназначена для интерполяции, а не экстрaполяции. [3]

Кубическая сплайн-интерполяция

Кубическая сплайн-интерполяция позволяет провести кривую через набор точек таким образом, что первые и вторые производные кривой непрерывны в каждой точке. Эта кривая образуется путем создания ряда кубических полиномов, проходящих через наборы из трёх смежных точек.

В дополнение к cspline Mathcad поставляется с двумя другими кубическими сплайн-функциями. Три сплайн-функции:

cspline (vx, vy) pspline (vx, vy) lspline (vx, vy)

Они все возвращают вектор коэффициентов вторых производных, который мы будем называть vs. Этот вектор, vs, обычно используется в функции interp, описанной ниже. Аргументы vx и vy должны быть вещественнозначными векторами одинаковой длины. Значения в vx должны быть вещественны и расположены в порядке возрастания.

Они все возвращают вектор коэффициентов вторых производных, который называют vs. Этот вектор, vs, обычно используется в функции interp. Аргументы vx и vy должны быть вещественнозначными векторами одинаковой длины. Значения в vx должны быть вещественны и расположены в порядке возрастания.

функция lspline генерирует кривую сплайна, которая приближается к прямой линии в граничных точках.

функция pspline генерирует кривую сплайна, которая приближается к параболе в граничных точках.

функция cspline генерирует кривую сплайна, которая может быть кубическим полиномом в граничных точках.

interp (vs, vx, vy, x)

Возвращает интерполируемое значение y, соответствующее аргументу x. Вектор vs вычисляется на основе векторов данных vx и vy одной из функций lspline, pspline или cspline.

Интерполируемое значение для конкретного x есть ордината y соответствующей точки сплайна.

Для значений x, расположенных перед первой точкой в vx, Mathcad продолжает сплайн первой из составляющих его кубических парабол. Для значений x, расположенных за последней точкой в vx, Mathcad продолжает сплайн последней из составляющих его кубических парабол.

Для получения наилучших результатов значение x должно находиться между самым большим и самым маленьким значениями в векторе vx - маловероятно, что будут полезны значения, вычисленные для xвне этого диапазона. Сплайны предназначены для интерполяции, а не экстрaполяции. [2]

1.3 Реализация интерполяции и аппроксимации данных в MathCAD и Matlab

Реализация аппроксимации в MathCAD

Линейная регрессия общего вида реализуется с помощью функции Linfit (VX,VY,F). Эта функция называется - функция по методу наименьших квадратов. Рассмотрим реализацию функции на простейшем примере:

Реализация интерполяции в MathCAD

Линейная интерполяция на Mathcad'е осуществляется с помощью встроенной функции linterp. Пусть требуется провести линейную интерполяцию функции sin (x) на интервале [0.6], используя пять узлов интерполяции, и вычислить значения функции в четырех точках Xk

Задаем интервал изменения x и число узловых точек

Определяем шаг изменения x:

Вычисляем координаты узлов и значения функции в них:

Проводим линейную интерполяцию:

Вычислим значение интерполяционной функции в заданных точках и сравним их с точными значениями

Как видно, результаты интерполяции отличаются от точных значений функции незначительно. [3]

Реализация аппроксимации в MatLab

Синтаксис: p = polyfit (x, y, n)

Описание:

Функция p = polyfit (x, y, n) находит коэффициенты полинома p (x) степени n, который аппроксимирует функцию y (x) в смысле метода наименьших квадратов. Выходом является строка p длины n +1, содержащая коэффициенты аппроксимирующего полинома.

Пример:

Рассмотрим аппроксимацию функции ошибки erf (x), которая является ограниченной сверху функцией, в то время как аппроксимирующие полиномы неограниченны, что приводит к ошибкам аппроксимации.

x = (0: 0.1: 2.5) ';

y = erf (x);

вычислим коэффициенты аппроксимирующего полинома степени 6:

p = polyfit (x, y,

6) p = 0.0084 - 0.0983 0.4217 - 0.7435 0.1471 1.1064 0.0004

вычислим значения полинома в точках сетки: f = polyval (p, x);

сформируем следующую таблицу данных: table = [x y f y-f] table =

0

0

0.0004

-0.0004

0.1000

0.1125

0.1119

0.0006

0.2000

0.2227

0.2223

0.0004

0.3000

0.3286

0.3287

-0.0001

0.4000

0.4284

0.4288

-0.0004

.

.

.

.

2.1000

0.9970

0.9969

0.0001

2.2000

0.9981

0.9982

-0.0001

2.3000

0.9989

0.9991

-0.0003

2.4000

0.9993

0.9995

-0.0002

2.5000

0.9996

0.9994

0.0002

Из таблицы видно, что на отрезке [0 2.5] точность аппроксимации находится в пределах 3-4 знаков; построим графики функции и аппроксимирующего полинома на отрезке [0 5].

x = (0: 0.1: 5) ';

y = erf (x);

f = polyval (p, x);

plot (x, y, 'ob', x, f, '-g'), " axis ([0 5 0 2]) [4]

Рисунок 3 - Графическая аппроксимация в MatLab

Реализация интерполяции в MatLab

Синтаксис: yi = interp1 (x, y, xi) yi = interp1 (x, y, xi, `<метод>`)

Описание:

Функция yi = interp1 (x, y, xi) строит интерполирующую кривую для одномерного массива y, заданного на сетке x; выходной массив yi может быть определен на более мелкой сетке xi. Если Y - двумерный массив, то интерполирующая кривая строится для каждого столбца. По умолчанию реализована линейная интерполяция.

Функция yi = interp1 (x, y, xi, `<метод>`) позволяет задать метод интерполяции:

`linear'

линейная

`cubic'

кубическая

`spline'

кубические сплайны

Принято, что аргумент x изменяется монотонно; кроме того, для кубической интерполяции предполагается, что сетка по x равномерна.

Пример:

Зададим синусоиду всего 10 точками и проведем интерполяцию, используя мелкую сетку.

x = 0: 10; y = sin (x);

xi = 0:.25: 10;

yi = interp1 (x, y, xi);

plot (x, y, 'o', xi, yi, `g'), hold on yi = interp1 (x, y, xi, `spline');

plot (x, y, 'ob', xi, yi, `m'), grid, hold off [5]

Рисунок 4 - Графическая интерполяция в MatLab

2. Алгоритмический анализ задачи

2.1 Полная постановка задачи

Применение системы Mathcad и Matlab для исследования математической модели электрической, включающей в себя источник ЭДС, сопротивления R, емкость С и катушку индуктивности L.

Полная постановка задачи:

1. С использванием системы Mathcad

1.1 Рассчитать значения функций напряжения на конденсаторе в цепи второго порядка при ступенчатом воздействии E (t). Построить графики этих функций

1.2 Исследовать реакцию колебательного контура на внешнее воздействие при различных значениях варьируемого параметра-индуктивности. Построить графики функций напряжения на конденсаторе при различных значениях заданного варьируемого параметра на одном поле.

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

2. С использованием системы Matlab

2.1 Для функции напряжения на конденсаторе, рассчитанной в п.1.1 найти значение времени, при котором функция пересекает пороговое значение Up=1B. Выполнить графическую интерпретацию результата.

2.2 Описание математической модели

Электрическая цепь описывается дифференциальным уравнением второго порядка вида:

(4)

Функция при ЭДС имеет вид:

(5)

2.3 Анализ исходных и результирующих данных

Исходными данными для работы являются:

R-сопротивление

C - исходная емкость

L - исходная индуктивность

E (t) - исходная функция гармонического воздействия

Т - время исследования

Таблица 1 - Исходные данные

N варианта

C

Ф

R

Ом

L

Гн

T

с

Варьируемый параметр

L Гн

13

1.2*10-7

57

78*10-3

25*10-2

6*10-2

9*10-2

2.4 Графическая схема алгоритма и её описание

Рисунок 5 - Графическая схема алгоритма

Используя систему Matlab, вычисляем значение времени, при котором напряжение пересекает пороговое значение 1В

Рисунок 6 - Графическая схема алгоритма работы в среде Matlab

3. Описание реализации задачи в MathCAD

3.1 Описание реализации базовой модели

Выводим математическую модель, делая замену в формуле (4):

Математическая модель принимает вид:

(6)

Решая дифференциальное уравнений с помощью функции rkfixed, получаем таблицу (Рисунок 3) состоящую из 4 столбцов и 1001-ой строки, в которой первый столбец показывает значение времени, второй столбец-значение напряжения UC, а третий - значение тока i. Затем строим графики зависимости напряжения и тока от времени. (Рисунок 4,5)

Рисунок 7-таблица с полученными значениями времени и токов

Рисунок 8 - Зависимость напряжения от времени

Рисунок 9 - Зависимость тока от времени

3.2 Описание исследований

Проводим исследования математической модели (приложение Б).

Изменяя индуктивность от 0,06 до 0,09 Гн, проводим опыты, в которых видно как изменяется ток i с изменением индуктивности.

Строим сводный график на одном поле для всех функций токов i, полученных в ходе проведения эксперимента.

После этого строим сводный график всех полученных токов на одном поле.

Рисунок 10 - Сводный график всех функций тока

Рисунок 11 - Сводный график всех функций напряжения

Используя систему Matlab, вычисляем значение времени, при котором напряжение пересекает пороговое значение 1В. При помощи функции WRITEPRN из MahtCaD записываем данные времени и напряжения, полученные ранее при решении системы дифференциальных уравнений, в текстовый документ формата txt, после чего создаем m-файл, в котором производим вычисления и находим значение времени.

3.3 Выводы по результатам исследований

В результате выполнения работы исследовал применение системы MathCAD для исследования математической модели RLC-цепи, рассчитал значения функций тока на катушке и напряжения на конденсаторе при различных ЭДС. Построил графики этих функций. Исследовал влияние значений изменяемого параметра на вид функции напряжения в схеме. Построил сводный график всех полученных функций напряжения на одном поле. Анализ полученных результатов показал, что напряжение напрямую зависит от изменения индуктивности конденсатора. Это видно на полученных графиках. (Рисунок 5). В системе Matlab вычислили время, при котором напряжение пересекает значение равное 1В. Вычисления показали, что напряжение пересекает пороговое значение 1В во время равное T= 0,00945. Затем проверили себя, посмотрев результаты на графике

Рисунок 12 - Зависимость напряжения от времени

Заключение

В ходе проделанной курсовой работы было проведено исследование математической модели электрической RLC-цепи с использованием систем компьютерной математики MathCAD и Matlab.

Использование математического моделирования с применением новейших компьютерных технологий помогает значительно облегчить сложнейшие математические вычисления. Со временем новейшие разработки в области компьютерного моделирования расширяют применение в самых разных сферах человеческой деятельности.

Появление таких продуктов, как MathCAD и Matlab и их совершенствование, обусловлено необходимостью производить сложные математические вычисления. Данные системы могут значительно облегчить работу в сфере сложных и трудоемких математических вычислений.

В ходе выполнения данной курсовой работы, мною была исследована математическая модель RLC-цепи, а также изучены системы компьютерного моделирования MathCAD и Matlab.

Список использованных источников

1. С.В. Поршнев, И.В. БеленковаЧисленные методы на базе Mathcad - БХВ-Петербург, 2005. - 456 с.

2. Кудрявцев Справочник по Mathcad 112005. М.: ДМК Пресс. - 184 с.

3. В.Ф. Очков. Mathcad для студентов и инженеров: русская версия. СПб.: BHV, 2009.

4. С.П. Иглин. Математические расчеты на базе Matlab. Издательство "BHV-Санкт-Петербург" 2005г.640 стр.Е. М.

5. http://www.exponenta.ru/soft/matlab/potemkin/book2/chapter8/interp1. asp

Приложения

Приложение Г - Решение задачи с использованием системы Matlab

С использованием системы Matlab, для функции напряжения, полученной в пункте 1.1, вычислить время, при котором напряжение пересекает пороговое значение равное 1 В.

T=load ('1. txt')

U=load ('2. txt')

for i = 1: 1000

if U (i) ==1

t=T (i);

end;

end;

disp (t);

plot (T,U,t,U (i),'o')

где t - время, при котором напряжение пересекает пороговое значение 1 В.

Ответ:

t =

0.0146

Рисунок 13-графическая интерпретация результата

Размещено на Allbest.ru


Подобные документы

  • Понятие математической модели, физические свойства и классификация. Обзор систем компьютерного моделирования. Применение системы MathCAD для исследования реакции электрической цепи на внешнее воздействие. Графическая схема алгоритма и её описание.

    курсовая работа [191,7 K], добавлен 29.09.2013

  • Обзор программных средств компьютерного моделирования. Изучение реакции электрической цепи на внешнее воздействие средствами MathCad: расчет значения функций u(t), построение графика зависимости напряжения по времени, нахождение аппроксимирующей функции.

    курсовая работа [269,9 K], добавлен 07.03.2013

  • Основные понятия компьютерного моделирования. Функциональная схема робота. Системы компьютерной математики. Исследование поведения одного звена робота с использованием системы MathCAD. Влияние значений изменяемого параметра на амплитуду угла поворота.

    курсовая работа [1,2 M], добавлен 26.03.2013

  • Теоретические основы моделирования систем в среде имитационного моделирования AnyLogic. Средства описания поведения объектов. Анимация поведения модели, пользовательский интерфейс. Модель системы обработки информации в среде компьютерного моделирования.

    курсовая работа [1,5 M], добавлен 15.05.2014

  • Значение компьютерного моделирования, прогнозирования событий, связанных с объектом моделирования. Совокупность взаимосвязанных элементов, важных для целей моделирования. Особенности моделирования, знакомство со средой программирования Турбо Паскаль.

    курсовая работа [232,6 K], добавлен 17.05.2011

  • Применение комплексного математического моделирования в проектировании. Обзор численных методов в моделировании. Решение дифференциальных уравнений в MathCAD. Анализ исходных и результирующих данных. Описание реализации базовой модели в MathCAD.

    курсовая работа [240,5 K], добавлен 18.12.2011

  • Сравнительный анализ Matlab и Mathcad при моделировании динамических систем. Подсистема Simulink пакета MATLAB. Расчёт базовой модели и проведения исследований. Описание математической модели. Векторные и матричные операторы. Нижние и верхние индексы.

    курсовая работа [338,5 K], добавлен 06.02.2014

  • Поведение идентификации термического объекта исследования, компьютерного моделирования объекта по полученной математической модели. Расчет переходных характеристик замкнутой системы автоматического управления, а также анализ ее устойчивости и качества.

    дипломная работа [1,8 M], добавлен 17.09.2011

  • Создание математической модели бистабильной системы "нагреватель-охлаждающая жидкость". Решение задачи Коши для дифференциального уравнения второго порядка. Обзор особенностей компьютерного построения модели динамической системы развития двух популяций.

    контрольная работа [1,1 M], добавлен 20.10.2014

  • Общие сведения о математических моделях и компьютерном моделировании. Неформальный переход от рассматриваемого технического объекта к его расчетной схеме. Примеры компьютерного моделирования простейших типовых биотехнологических процессов и систем.

    реферат [25,9 K], добавлен 24.03.2015

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.