Написать программу для нахождения корней системы уравнений методом Гаусса - VB
Формулировка задачи:
Здравствуйте
помогите пожалуйста
Составить алгоритм и написать программу для нахождения корней системы уравнений методом Гаусса. Представить в отчете аналитическое решение и результаты программного расчета.
12x-4y-5z=11 11x+y+z=12 -3x-2y-14z=14
Решение задачи: «Написать программу для нахождения корней системы уравнений методом Гаусса»
textual
Листинг программы
Option Base 1 Sub matriza() Dim z As String Dim z1 As String Dim z2 As String Dim z3 As String Dim i As Integer Dim u As Integer Dim l As Integer Dim l1 As Integer Dim n As Integer z = "" z1 = "" z2 = "" z3 = "" y = 1 u = 1 n = InputBox("Введите количество неизвестных(кол-во уравнений системы)") ReDim a(n, n + 1) ReDim r(n, n + 1) MsgBox "Размер матрицы А " & n + 1 & "х" & n 'ЗАПОЛНЕНИЕ МАТРИЦЫ For l = 1 To n Step 1 For l1 = 1 To n + 1 Step 1 a(y, u) = InputBox("Введите число a(" & y & "," & u & ")") r(y, u) = a(y, u) z = z & a(y, u) & " | " u = u + 1 Next l1 z = z & " " & Chr(13) u = 1 y = y + 1 Next l 'ОТОБРАЖЕНИЕ МАТРИЦЫ MsgBox "Введенная матрица" & Chr(13) & z If n = 3 Then MsgBox "Уравнение:" & Chr(13) & a(1, 1) & "х+" & "(" & a(1, 2) & ")" & "y+" & "(" & a(1, 3) & ")" & "z=" & a(1, 4) & Chr(13) & a(2, 1) & "х+" & "(" & a(2, 2) & ")" & "y+" & "(" & a(2, 3) & ")" & "z=" & a(2, 4) & Chr(13) & a(3, 1) & "х+" & "(" & a(3, 2) & ")" & "y+" & "(" & a(3, 3) & ")" & "z=" & a(3, 4) End If z = "" ReDim x(n) ReDim q(n) 'ПЕРЕСТРОЙКА МАТРИЦЫ For k = 2 To n Step 1 For p = k To n Step 1 m = a(k - 1, k - 1) / a(p, k - 1) For f = k - 1 To n + 1 Step 1 a(p, f) = a(k - 1, f) - a(p, f) * m Next f Next p Next k 'РАСЩЕТ Х x(n) = a(n, n + 1) / a(n, n) For i = n - 1 To 1 Step -1 s = 0 For j = i + 1 To n Step 1 s = s + x(j) * a(i, j) / a(i, i) Next j x(i) = (a(i, n + 1) / a(i, i)) - s Next i 'ВЫВОД ОТВЕТА For b = 1 To n Step 1 z1 = z1 & x(b) & Chr(13) Next b MsgBox "Ответы:" & Chr(13) & z1 'ПРОВЕРКА For t = 1 To n Step 1 For o = 1 To n Step 1 If o = 1 Then q(t) = r(t, o) * x(o) Else q(t) = q(t) + r(t, o) * x(o) End If Next o z2 = z2 & q(t) & Chr(13) z3 = z3 & r(t, n + 1) & Chr(13) Next t MsgBox "ПРОВЕРКА:" & Chr(13) & z2 & Chr(13) & "Исходные данные:" & Chr(13) & z3 End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д