|
Метод Гаусса для расчета электрических цепей
Метод Гаусса для расчета электрических цепей
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
|
|