Xreferat.com » Рефераты по информатике и программированию » Метод Гаусса для расчета электрических цепей

Метод Гаусса для расчета электрических цепей

Содержание


Введение

Метод Гаусса

Метод Гаусса с выбором ведущего элемента по столбцу

Описание программы

Руководство пользователя к программе

Заключение

Список литературы

Приложение А


Введение


Целью настоящей работы является по определенной электрической схеме нужно составить систему уравнений при помощи законов Кирхгофа. А также создать приложение для решения данной системы методом Гаусса с выбором ведущего элемента по строке. Известные значения сопротивлений нагрузок (R) и ЭДС источников должны вводятся из файла, и отображаться в главном окне приложения. Результаты расчета выводиться на экран. В одном из окон приложения должна отображаться данная электрическая схема.

Метод Гаусса


Метод Гаусса - один из самых распространенных методов решения систем линейных алгебраических уравнений. Этот метод (который называют также метолом последовательного исключения неизвестных) известен в различных вариантах уже более 2000 лет.

Вычисления с помощью метода Гаусса состоят из двух основных этапов, называемых прямым ходом и обратным ходом (обратной подстановкой). Прямой ход метода Гаусса заключается - в последовательном исключении неизвестных из системы для преобразования ее к эквивалентной системе с верхней треугольной матрицей. Вычисления значения неизвестных производят на этапе обратного хода.


Метод Гаусса с выбором ведущего элемента по столбцу


Описание метода. На k-м шаге прямого хода коэффициенты уравнений системы с номерами i= k+1, …,m преобразуется по формулам (1.1)


Метод Гаусса для расчета электрических цепей (1.1)


Интуитивно ясно, что во избежание сильного роста коэффициентов системы и связанных с этим ошибок нельзя допускать появления больших множителей Метод Гаусса для расчета электрических цепей.

В методе Гаусса с выбором главного элемента по столбцу гарантируется что Метод Гаусса для расчета электрических цепей для всех k = 1, 2, …, m-1 и i= k+1, …,m.

Отличие этого метода Гаусса от схемы единственного деления заключается в том, что на k-м шаге исключения в качества главного элемента выбирают максимальный по модулю коэффициент Метод Гаусса для расчета электрических цепей при неизвестной Метод Гаусса для расчета электрических цепей в уравнениях с номерами i=k, k+1, …,m. Затем соответствующее выбранному коэффициенту уравнение с номером Метод Гаусса для расчета электрических цепей меняют местами с k-м уравнением системы для того, что бы главный элемент занял место коэффициента Метод Гаусса для расчета электрических цепей.

После этой перестановки исключение неизвестного Метод Гаусса для расчета электрических цепей производят, как в схеме единственного деления.


Блок-схема Гаусса с выбором ведущего элемента по столбцу

Метод Гаусса для расчета электрических цепей


Метод Гаусса для расчета электрических цепей

Описание программы


При запуске программы появляется окно заставки frmSplash (рисунок 2.1).


Метод Гаусса для расчета электрических цепей

Рисунок 2.1


При нажатии кнопки "ОК" открывается форма изображенная на рисунке 2.2 Открытие файла для введения необходимых данных и вывода системы уравнений на элемент FlexGrid, осуществляется при помощи нажатие кнопки "Ввести данные" или вызовом меню Файл > Открыть файл, либо с помощью нажатия комбинации клавиш "Ctrl+A". Далее при нажатий кнопки "Вычислить или вызовом меню Файл > Вычислить выводятся результаты расчетов на элемент TextBox. Значения сопротивлений и ЭДС вводится из файла, ранее вызванного при помощи меню.


Метод Гаусса для расчета электрических цепей

Рисунок 2.2


Таблица 2.1 Функции выполняемые пунктами меню

Заголовок Имя Действие
Файл mnFile
--открыть файл mnOpen Открывает файл
--сохранить файл mnSave Сохраняет файл
--Вычисить mnGauss Нахождение неизвестных значений
--Выход mnExit Завершение работы приложения
Электрическая схема mnES Открываем форму Form2
О программа mnAbout Открывает форму frmSplash

Это меню создается с помощью мастера MenuEditor, который вызывается из меню Tools, либо с помощью нажатия на клавиатуре Ctrl+E (рисунок 2.3).


Метод Гаусса для расчета электрических цепей

Рисунок 2.3


Электрическая схема показана на "Form2". эту форму со схемой можно вызвать при помощи вызовом меню "Электрическая схема" (рисунок 2.4).


Метод Гаусса для расчета электрических цепей

Рисунок 2.4.


В форме "О программе" приведенной на рисунке 2.5 дано краткое описание программы.


Метод Гаусса для расчета электрических цепей

Рисунок 2.5


Руководство пользователя к программе


Запускаем исполняемый файл “ Расчет токов разветвленной цепи. exe" или открываем файл “ Проект1" и запускаем (F5). В появившемся окне выведено окно заставки. По нажатию кнопки “ok, открывается главная форма.

С помощью текстового меню открываем файл, который осуществляется при помощи нажатие кнопки "Ввести данные" или сопровождается вызовом меню Файл > Открыть файл, либо с помощью нажатия на клавиатуре Ctrl+А, создается текстовый документ, куда вводятся в одну строчку значения сопротивлений нагрузок, в следующую строчку значения ЭДС источников через пробел, а также выводится исходная система уравнений в виде таблице на элемент FlexGrid

При нажатии на кнопку “Вычислить” или вызовом меню Файл > Вычислить происходить реализация программного кода, включающего в себя метод Гаусса с выбором ведущего элемента по строке, результаты расчетов токов выводятся на элемент TextBox.

Можно просмотреть данную электрическую схему через вызов меню "Электрическая схема".

Также в программе реализована функция сохранения результатов, которая осуществляется вызовом меню Файл > сохранить файл. При нажатие кнопки "выход" закрывается данное приложение.

Заключение


В результате данной курсовой работы были рассчитаны токи разветвленной цепи при помощи законов Кирхгофа. Система линейных уравнений была решена методом Гаусса с выбором ведущего элемента по строке и выведена на элемент FlexGrid. Результаты расчета выведены на элемент TextBox.

Данная программа может использоваться при анализе конкретной электрической цепи в электротехники.

Список литературы


Амосов, А.А. Вычислительные методы для инженеров: учеб. пособие / А.А. Амосов, Ю.А. Дубинский, Н.А. Копченова; под общ. ред. - М.: Высш. шк., 1994. - 544 с.: ил

ГОСТ 2.105 - 95. Общие требования к текстовым документам. Дата введения 1996-07-01. Взамен ГОСТ 2.105-79, ГОСТ 2.906-71

ГОСТ 19.701-90 схемы алгоритмов программ, данных и систем. Дата введения 1992-01-01. Взамен ГОСТ 19.002-80

Нейман Ю.М., Хлебников В.А. Введение в теорию моделирования и параметризации педагогических тестов. М.: Адепт, 2000.168 с.

Гайдамакин Н.А. Автоматизированные информационные системы, базы и банки данных. Москва: Гелиос АРВ, 2002.225 с.

Хомоненко А.Д. Базы данных. СП: Корона принт, 2000.637 с.

Письменный Д.Т. Конспект лекций по высшей математике. М.: Айрис-пресс, 2005. - 228 с.: ил.

Приложение А


Dim a (6,6) As Double

Dim X (6) As Double

Dim rr (4) As Double

Dim e (5) As Double

Private Sub Command1_Click ()

Call Gauss

End Sub

Private Sub Command2_Click ()

Call Vectidan

End Sub

Private Sub mnES_Click ()

Form2. Show

End Sub

Private Sub mnGauss_Click ()

Call Gauss

End Sub

Private Sub mnOpen_Click ()

Call Vectidan

End Sub

Private Sub mnSave_Click ()

Dim sfilename As String, sdark As String

Dim stext As String

'вводим диалог сохранения файла

CommonDialog1. FileName = ""

CommonDialog1. ShowSave

If CommonDialog1. FileName <> "" Then

sfilename = CommonDialog1. FileName

'открываем диалог на запись

Open sfilename For Output As #2

Print #2, Text1. Text + " "

Print #2, Text2. Text + " "

Print #2, Text3. Text + " "

Print #2, Text4. Text + " "

Print #2, Text5. Text + " "

Print #2, Text6. Text + " "

Close #2

End If

End Sub

Sub Vectidan ()

Dim sfilename As String, sdark As String

Dim stext As String

'ввод диалога открытия файла

CommonDialog1. FileName = ""

CommonDialog1. ShowOpen

If CommonDialog1. FileName <> "" Then

sfilename = CommonDialog1. FileName

'открываем файл на чтение

Open sfilename For Input As #1

stext = ""

'читаем текст

Input #1, stext

t = Split (stext, " ")

For i = 1 To 4

rr (i) = t (i - 1)

Next i

Input #1, stext

t = Split (stext, " ")

For i = 1 To 5

e (i) = t (i - 1)

Next i

n = 6

m = 7

Call dann

'устанавливаем число строк и слобцов

MSFlexGrid1. Rows = n + 1

MSFlexGrid1. Cols = m + 1

MSFlexGrid1. ColWidth (0) = 300

'вывод нуемерации столбцов

MSFlexGrid1. Row = 0

For i = 1 To m

MSFlexGrid1. Col = i

MSFlexGrid1. Text = Str (i)

MSFlexGrid1. ColWidth (i) = 400

Next i

'вывод нуемерации строк

MSFlexGrid1. Col = 0

For i = 1 To n

MSFlexGrid1. Row = i

MSFlexGrid1. Text = Str (i)

Next i

'устанавливаем адрес ячейки для вывода

For i = 1 To n

For j = 1 To m - 1

MSFlexGrid1. Row = i

MSFlexGrid1. Col = j

MSFlexGrid1. Text = CStr (a (i, j))

Next j

MSFlexGrid1. Row = i

MSFlexGrid1. Col = j

MSFlexGrid1. Text = CStr (X (i))

Next i

MSFlexGrid1. Row = 4

MSFlexGrid1. Col = 1

MSFlexGrid1. CellForeColor = vbRed

MSFlexGrid1. Row = 5

MSFlexGrid1. Col = 5

MSFlexGrid1. CellForeColor = vbRed

MSFlexGrid1. Row = 6

MSFlexGrid1. Col = 5

MSFlexGrid1. CellForeColor = vbRed

MSFlexGrid1. Row = 6

MSFlexGrid1. Col = 6

MSFlexGrid1. CellForeColor = vbRed

MSFlexGrid1. Row = 6

MSFlexGrid1. Col = 7

MSFlexGrid1. CellForeColor = vbGreen

MSFlexGrid1. Row = 5

MSFlexGrid1. Col = 7

MSFlexGrid1. CellForeColor = vbGreen

MSFlexGrid1. Row = 4

MSFlexGrid1. Col = 7

MSFlexGrid1. CellForeColor = vbGreen

'закрываем файл

Close #1

End If

End Sub

Sub Gauss ()

Dim i, j, k, r As Double

Call dann

n = 6

' метод

'поиск главного элемента в i-том столбце

For i = 1 To n

k = i

r = Abs (a (i, i))

For j = i + 1 To n

If Abs (a (j, i)) > r Then

k = j

r = a (j, i)

End If

Next j

If r = 0 Then Exit For

If k <> i Then

'перестоновка

r = X (k)

X (k) = X (i)

X (i) = r

For j = 1 To n

r = a (k, j)

a (k, j) = a (i, j)

a (i, j) = r

Next j

End If

'исключение i-ого неизвестного

r = a (i, i)

X (i) = X (i) / r

For j = 1 To n

a (i, j) = a (i, j) / r

Next j

For k = i + 1 To n

r = a (k, i)

X (k) = X (k) - r * X (i)

For j = 1 To n

a (k, j) = a (k, j) - r * a (i, j)

Next j

Next k

Next i

'обратный ход

For i = n - 1 To 1 Step - 1

For j = i + 1 To n

X (i) = X (i) - a (i, j) * X (j)

Next j

Next i

Text1. Text = Format (X (1), "0.000") & " A"

Text2. Text = Format (X (2), "0.000") & " A"

Text3. Text = Format (X (3), "0.000") & " A"

Text4. Text = Format (X (4), "0.000") & " A"

Text5. Text = Format (X (5), "0.000") & " A"

Text6. Text = Format (X (6), "0.000") & " A"

End Sub

Private Sub mnAbout_Click ()

frmAbout. Show

End Sub

Private Sub mnExit_Click ()

End

End Sub

Private Sub dann ()

n = 6

m = 7

a (1,1) = - 1

a (1,2) = 1

a (1,3) = 1

a (1,4) = 0

a (1,5) = 0

a (1,6) = 0

a (2,1) = 0

a (2,2) = 0

a (2,3) = - 1

a (2,4) = - 1

a (2,5) = 0

a (2,6) = 0

a (3,1) = 0

a (3,2) = 1

a (3,3) = 0

a (3,4) = 0

a (3,5) = 1

a (3,6) = 1

a (4,1) = rr (1)

a (4,2) = 0

a (4,3) = 0

a (4,4) = 0

a (4,5) = 0

a (4,6) = 0

a (5,1) = 0

a (5,2) = 0

a (5,3) = 0

a (5,4) = 0

a (5,5) = rr (2)

a (5,6) = 0

a (6,1) = 0

a (6,2) = 0

a (6,3) = 0

a (6,4) = 0

a (6,5) = rr (2)

a (6,6) = - rr (4) - rr (3)

X (1) = 0

X (2) = 0

X (3) = 0

X (4) = e (2) - e (3)

X (5) = e (1)

X (6) = e (1) + e (4) - e (5)

End Sub

Если Вам нужна помощь с академической работой (курсовая, контрольная, диплом, реферат и т.д.), обратитесь к нашим специалистам. Более 90000 специалистов готовы Вам помочь.
Бесплатные корректировки и доработки. Бесплатная оценка стоимости работы.

Поможем написать работу на аналогичную тему

Получить выполненную работу или консультацию специалиста по вашему учебному проекту
Нужна помощь в написании работы?
Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Пишем статьи РИНЦ, ВАК, Scopus. Помогаем в публикации. Правки вносим бесплатно.

Похожие рефераты: