ВУЗ:
Составители:
Рубрика:
32
Главные программы имеют следующую структуру имени: samN_XX, где
N – номер раздела лекционного курса, XX – порядковый номер программы в
пределах раздела.
Начнем с простейшей
программы решения СЛАУ с верхней треугольной
матрицей
. Главная программа (файл sam2_01.m) имеет вид:
% Решение СЛАУ с верхней треугольной матрицей
% Главная программа
clear;% Очистка рабочего пространства
clc; % Очистка командного окна
% Пример матрицы и правой части
disp('Матрица решаемой системы')
A=[3 -2 1 -1
0 4 -1 2
0 0 2 3
0 0 0 5]
disp('Вектор правой части')
b=[ 8
-3
11
15]
% Обращение к функции решения СЛАУ с верхней треугольной матри-
цей
disp('Решение системы')
x=backsub(A,b)
disp('Невязка');
r=b-A*x
Программа вызывает функцию backsub решения СЛАУ с верхней тре-
угольной матрицей:
function x=backsub(A,b)
% Функция решения СЛАУ с верхней треугольной матрицей
% Вход A - верхняя треугольная матрица размера nxn
% b - вектор размера nx1
% Выход x - решение системы уравнений
n=length(b); % размер вектора
x=zeros(n,1); % формирование массива нулей nx1
% Вычисление решения обратной подстановкой
x(n)=b(n)/A(n,n);
for k=n-1:-1:1
x(k)=(b(k)-A(k,k+1:n)*x(k+1:n))/A(k,k);
end
В результате выполнения программы получаем
Матрица решаемой системы
A =
3 -2 1 -1
0 4 -1 2
0 0 2 3
0 0 0 5
Главные программы имеют следующую структуру имени: samN_XX, где
N – номер раздела лекционного курса, XX – порядковый номер программы в
пределах раздела.
Начнем с простейшей программы решения СЛАУ с верхней треугольной
матрицей. Главная программа (файл sam2_01.m) имеет вид:
% Решение СЛАУ с верхней треугольной матрицей
% Главная программа
clear;% Очистка рабочего пространства
clc; % Очистка командного окна
% Пример матрицы и правой части
disp('Матрица решаемой системы')
A=[3 -2 1 -1
0 4 -1 2
0 0 2 3
0 0 0 5]
disp('Вектор правой части')
b=[ 8
-3
11
15]
% Обращение к функции решения СЛАУ с верхней треугольной матри-
цей
disp('Решение системы')
x=backsub(A,b)
disp('Невязка');
r=b-A*x
Программа вызывает функцию backsub решения СЛАУ с верхней тре-
угольной матрицей:
function x=backsub(A,b)
% Функция решения СЛАУ с верхней треугольной матрицей
% Вход A - верхняя треугольная матрица размера nxn
% b - вектор размера nx1
% Выход x - решение системы уравнений
n=length(b); % размер вектора
x=zeros(n,1); % формирование массива нулей nx1
% Вычисление решения обратной подстановкой
x(n)=b(n)/A(n,n);
for k=n-1:-1:1
x(k)=(b(k)-A(k,k+1:n)*x(k+1:n))/A(k,k);
end
В результате выполнения программы получаем
Матрица решаемой системы
A =
3 -2 1 -1
0 4 -1 2
0 0 2 3
0 0 0 5
32
Страницы
- « первая
- ‹ предыдущая
- …
- 30
- 31
- 32
- 33
- 34
- …
- следующая ›
- последняя »
