Вычисления матрицы 4-го порядка, обратной заданной - QBasic
Формулировка задачи:
помогите пожалуйста написать программу! Разработать алгоритм и программу: вычисления матрицы 4-го порядка, обратной заданной(с помощью алгебраических дополнений и определителя).
Решение задачи: «Вычисления матрицы 4-го порядка, обратной заданной»
textual
Листинг программы
- RANDOMIZE TIMER
- n = 4
- DIM a(n, n), b(n, n)
- FOR i = 1 TO n
- FOR j = 1 TO n
- a(i, j) = INT(RND * 11)
- NEXT
- NEXT
- FOR i = 1 TO n
- FOR j = 1 TO n
- PRINT a(i, j);
- NEXT
- NEXT
- FOR j = 1 TO n
- det = det + a(1, j) * aij(a(), n, 1, j)
- NEXT
- PRINT det
- IF det = 0 THEN PRINT "the inverse matrix does not exist": END
- FOR i = 1 TO n
- FOR j = 1 TO n
- b(i, j) = aij(a(), n, j, i) * 1 / det
- NEXT
- NEXT
- PRINT STRING$(80, 196)
- FOR i = 1 TO n
- FOR j = 1 TO n
- PRINT b(i, j);
- NEXT
- NEXT
- FUNCTION aij (a(), n, ki, kj)
- DIM t(n - 1, n - 1)
- FOR i = 1 TO n
- IF i <> ki THEN
- fj = 0
- FOR j = 1 TO n
- IF j <> kj THEN
- t(i - fi, j - fj) = a(i, j)
- ELSE
- fj = 1
- END IF
- NEXT
- ELSE
- fi = 1
- END IF
- NEXT
- res = t(1, 1) * t(2, 2) * t(3, 3)
- res = res + t(3, 1) * t(1, 2) * t(2, 3)
- res = res + t(1, 3) * t(2, 1) * t(3, 2)
- res = res - t(1, 3) * t(2, 2) * t(3, 1)
- res = res - t(1, 1) * t(3, 2) * t(2, 3)
- res = res - t(3, 3) * t(2, 1) * t(1, 2)
- res = (-1) ^ (ki + kj) * res
- aij = res
- END FUNCTION
Объяснение кода листинга программы
- Объявляются переменные: n (размер матрицы), a(n, n) и b(n, n) (матрицы).
- Задаются значения элементов матрицы a с помощью цикла и генератора случайных чисел.
- Вычисляется определитель матрицы a с помощью цикла и функции aij.
- Если определитель равен нулю, выводится сообщение о том, что обратная матрица не существует.
- Задаются значения элементов матрицы b с помощью функции aij и деления на определитель.
- Выводятся значения элементов матрицы b с помощью цикла и функции PRINT.
- В функции aij вычисляются значения элементов матрицы a(i, j) с помощью циклов и условий.
- В функции aij вычисляется определитель матрицы a(i, j) с помощью циклов и операций.
- Значение определителя возвращается в качестве результата функции aij.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д