Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ИДЗ-2

.docx
Скачиваний:
0
Добавлен:
19.06.2023
Размер:
22.69 Кб
Скачать

ИДЗ 2, вариант 7

Задание

Решить СЛАУ методом прогонки и сравнить с решением с помощью команды системы MATLAB. Вывести норму разности решений и число обусловленности системы.

Код программы

run(5)

run(10)

run(15)

function run(N)

a = -5; b = 8; c = 2;

x0 = 5; xN = 1;

% Метод прогонки

A = zeros(N - 1, 1);

B = zeros(N - 1, 1);

A(1) = -c / b;

B(1) = -a * x0 / b;

for i = 2:(N - 1)

k = (a * A(i - 1) + b);

A(i) = -c / k;

B(i) = -a * B(i - 1) / k;

end

X = zeros(N + 1, 1);

X(N) = A(N - 1) * xN + B(N - 1);

for i = (N - 1):-1:2

X(i) = A(i - 1) * X(i + 1) + B(i - 1);

end

X(1) = x0;

X(N + 1) = xN;

% Формирование матрицы коэффициентов

A = zeros(N + 1);

for i = 1:(N - 1)

A(i, i) = a;

A(i, i + 1) = b;

A(i, i + 2) = c;

end

A(N, 1) = 1;

A(N + 1, N + 1) = 1;

% Формирование матрицы решений

F = zeros(N + 1, 1);

F(N) = x0;

F(N + 1) = xN;

% Решение СЛАУ

X_ls = linsolve(A, F);

% Сравнение решений и вывод результата

fprintf(['N = %d' ...

'\n\tНорма разности решений: %6.4f' ...

'\n\tЧисло обусловленности системы: %6.4f\n\n'], ...

N, ...

norm(X - X_ls), ...

cond(A));

end

Исходные данные:

Результаты:

:

Норма разности решений: 0.0000 Число обусловленности системы: 13.3210

:

Норма разности решений: 0.0000 Число обусловленности системы: 13.4457

:

Норма разности решений: 0.0000 Число обусловленности системы: 13.4947

Соседние файлы в предмете Компьютерная математика