Метод Гаусса для расчета электрических цепей
20
Содержание
- Введение
- Метод Гаусса
- Метод Гаусса с выбором ведущего элемента по столбцу
- Описание программы
- Руководство пользователя к программе
- Заключение
- Список литературы
- Приложение А
ВведениеЦелью настоящей работы является по определенной электрической схеме нужно составить систему уравнений при помощи законов Кирхгофа. А также создать приложение для решения данной системы методом Гаусса с выбором ведущего элемента по строке. Известные значения сопротивлений нагрузок (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.Данная программа может использоваться при анализе конкретной электрической цепи в электротехники.
Список литературы1. Амосов, А.А. Вычислительные методы для инженеров: учеб. пособие / А.А. Амосов, Ю.А. Дубинский, Н.А. Копченова; под общ. ред. - М.: Высш. шк., 1994. - 544 с.: ил
2. ГОСТ 2.105 - 95. Общие требования к текстовым документам. Дата введения 1996-07-01. Взамен ГОСТ 2.105-79, ГОСТ 2.906-71
3. ГОСТ 19.701-90 схемы алгоритмов программ, данных и систем. Дата введения 1992-01-01. Взамен ГОСТ 19.002-80
4. Нейман Ю.М., Хлебников В.А. Введение в теорию моделирования и параметризации педагогических тестов. М.: Адепт, 2000.168 с.
5. Гайдамакин Н.А. Автоматизированные информационные системы, базы и банки данных. Москва: Гелиос АРВ, 2002.225 с.
6. Хомоненко А.Д. Базы данных. СП: Корона принт, 2000.637 с.
7. Письменный Д.Т. Конспект лекций по высшей математике. М.: Айрис-пресс, 2005. - 228 с.: ил.
Приложение АDim a (6,6) As DoubleDim X (6) As DoubleDim rr (4) As DoubleDim e (5) As DoublePrivate Sub Command1_Click ()Call GaussEnd SubPrivate Sub Command2_Click ()Call VectidanEnd SubPrivate Sub mnES_Click ()Form2. ShowEnd SubPrivate Sub mnGauss_Click ()Call GaussEnd SubPrivate Sub mnOpen_Click ()Call VectidanEnd SubPrivate Sub mnSave_Click ()Dim sfilename As String, sdark As StringDim stext As String'вводим диалог сохранения файлаCommonDialog1. FileName = ""CommonDialog1. ShowSaveIf CommonDialog1. FileName <> "" Thensfilename = CommonDialog1. FileName'открываем диалог на записьOpen sfilename For Output As #2Print #2, Text1. Text + " "Print #2, Text2. Text + " "Print #2, Text3. Text + " "Print #2, Text4. Text + " "Print #2, Text5. Text + " "Print #2, Text6. Text + " "Close #2End IfEnd SubSub Vectidan ()Dim sfilename As String, sdark As StringDim stext As String'ввод диалога открытия файлаCommonDialog1. FileName = ""CommonDialog1. ShowOpenIf CommonDialog1. FileName <> "" Thensfilename = CommonDialog1. FileName'открываем файл на чтениеOpen sfilename For Input As #1stext = ""'читаем текстInput #1, stextt = Split (stext, " ")For i = 1 To 4rr (i) = t (i - 1)Next iInput #1, stextt = Split (stext, " ")For i = 1 To 5e (i) = t (i - 1)Next in = 6m = 7Call dann'устанавливаем число строк и слобцовMSFlexGrid1. Rows = n + 1MSFlexGrid1. Cols = m + 1MSFlexGrid1. ColWidth (0) = 300'вывод нуемерации столбцовMSFlexGrid1. Row = 0For i = 1 To mMSFlexGrid1. Col = iMSFlexGrid1. Text = Str (i)MSFlexGrid1. ColWidth (i) = 400Next i'вывод нуемерации строкMSFlexGrid1. Col = 0For i = 1 To nMSFlexGrid1. Row = iMSFlexGrid1. Text = Str (i)Next i'устанавливаем адрес ячейки для выводаFor i = 1 To nFor j = 1 To m - 1MSFlexGrid1. Row = iMSFlexGrid1. Col = jMSFlexGrid1. Text = CStr (a (i, j))Next jMSFlexGrid1. Row = iMSFlexGrid1. Col = jMSFlexGrid1. Text = CStr (X (i))Next iMSFlexGrid1. Row = 4MSFlexGrid1. Col = 1MSFlexGrid1. CellForeColor = vbRedMSFlexGrid1. Row = 5MSFlexGrid1. Col = 5MSFlexGrid1. CellForeColor = vbRedMSFlexGrid1. Row = 6MSFlexGrid1. Col = 5MSFlexGrid1. CellForeColor = vbRedMSFlexGrid1. Row = 6MSFlexGrid1. Col = 6MSFlexGrid1. CellForeColor = vbRedMSFlexGrid1. Row = 6MSFlexGrid1. Col = 7MSFlexGrid1. CellForeColor = vbGreenMSFlexGrid1. Row = 5MSFlexGrid1. Col = 7MSFlexGrid1. CellForeColor = vbGreenMSFlexGrid1. Row = 4MSFlexGrid1. Col = 7MSFlexGrid1. CellForeColor = vbGreen'закрываем файлClose #1End IfEnd SubSub Gauss ()Dim i, j, k, r As DoubleCall dannn = 6' метод'поиск главного элемента в i-том столбцеFor i = 1 To nk = ir = Abs (a (i, i))For j = i + 1 To nIf Abs (a (j, i)) > r Thenk = jr = a (j, i)End IfNext jIf r = 0 Then Exit ForIf k <> i Then'перестоновкаr = X (k)X (k) = X (i)X (i) = rFor j = 1 To nr = a (k, j)a (k, j) = a (i, j)a (i, j) = rNext jEnd If'исключение i-ого неизвестногоr = a (i, i)X (i) = X (i) / rFor j = 1 To na (i, j) = a (i, j) / rNext jFor k = i + 1 To nr = a (k, i)X (k) = X (k) - r * X (i)For j = 1 To na (k, j) = a (k, j) - r * a (i, j)Next jNext kNext i'обратный ходFor i = n - 1 To 1 Step - 1For j = i + 1 To nX (i) = X (i) - a (i, j) * X (j)Next jNext iText1. 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 SubPrivate Sub mnAbout_Click ()frmAbout. ShowEnd SubPrivate Sub mnExit_Click ()EndEnd SubPrivate Sub dann ()n = 6m = 7a (1,1) = - 1a (1,2) = 1a (1,3) = 1a (1,4) = 0a (1,5) = 0a (1,6) = 0a (2,1) = 0a (2,2) = 0a (2,3) = - 1a (2,4) = - 1a (2,5) = 0a (2,6) = 0a (3,1) = 0a (3,2) = 1a (3,3) = 0a (3,4) = 0a (3,5) = 1a (3,6) = 1a (4,1) = rr (1)a (4,2) = 0a (4,3) = 0a (4,4) = 0a (4,5) = 0a (4,6) = 0a (5,1) = 0a (5,2) = 0a (5,3) = 0a (5,4) = 0a (5,5) = rr (2)a (5,6) = 0a (6,1) = 0a (6,2) = 0a (6,3) = 0a (6,4) = 0a (6,5) = rr (2)a (6,6) = - rr (4) - rr (3)X (1) = 0X (2) = 0X (3) = 0X (4) = e (2) - e (3)X (5) = e (1)X (6) = e (1) + e (4) - e (5)End Sub