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

 

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

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

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

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

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





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

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

на тему: "Применение систем компьютерного моделирования для исследования математической модели 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) в заданной области было наименьшим.позволяет проводить линейную регрессию общего вида, в которой аппроксимирующая функция задается линейной комбинацией функций, причем сами функции 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), которая является ограниченной сверху функцией, в то время как аппроксимирующие полиномы неограниченны, что приводит к ошибкам аппроксимации.

= (0: 0.1: 2.5) ';= erf (x);


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


p = polyfit (x, y,

) 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) ';= erf (x);= polyval (p, x);(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);= 0:.25: 10;= interp1 (x, y, xi);

plot (x, y, 'o', xi, yi, g), hold on yi = interp1 (x, y, xi, spline);(x, y, 'ob', xi, yi, m), grid, hold off [5]


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

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


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


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

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

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

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

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

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

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

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


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


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


(4)


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


(5)


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


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

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

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

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

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

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


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

N вариантаC Ф R Ом L ГнT сВарьируемый параметр L Гн131.2*10-75778*10-325*10-26*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.С.В. Поршнев, И.В. Беленкова <#"center">Приложения


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

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


T=load ('1. txt')=load ('2. txt')i = 1: 1000U (i) ==1=T (i);;;(t);(T,U,t,U (i),'o')

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

Ответ:

t =

.0146


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


МИНИСТЕРСТВО ОБРАЗОВАНИЯ РЕСПУБЛИКИ БЕЛАРУСЬ УЧРЕЖДЕНИЕ ОБРАЗОВАНИЯ ГОМЕЛЬСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ ИМЕНИ П.О. СУХОГО Энергетический

Больше работ по теме:

КОНТАКТНЫЙ EMAIL: [email protected]

Скачать реферат © 2017 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ