Отчет о выполнении задания по теме "Системы линейных алгебраических уравнений"



Скачать 51.29 Kb.
Дата28.04.2013
Размер51.29 Kb.
ТипОтчет
НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ
ЯДЕРНЫЙ УНИВЕРСИТЕТ «МИФИ»


ОТЧЕТ
о выполнении задания по теме

"Системы линейных алгебраических уравнений"

по курсу

«ВЫЧИСЛИТЕЛЬНАЯ МАТЕМАТИКА»

выполнил студент группы А6-02

Логинов А.В.

Принял преподаватель


Москва, 2011г.

ЗАДАНИЕ
Дано: система линейных алгебраических уравнений Ax = b.
Исходные данные: матрица системы A и столбец правой части b.
Задание:

1. Написать программу на языке MATLAB, реализующую заданный метод решения систем линейных алгебраических уравнений. В качестве входных параметров программы должны выступать:

-матрица системы;

-вектор коэффициентов.

Программа должна возвращать вектор решения СЛАУ.

При этом программа должна содержать

-проверку на предмет вырожденности матрицы системы

2. При помощи программы найти решение СЛАУ для своего варианта задания (включая пошаговые результаты выполнения алгоритмов).
Номер в группе: 10.

Кодировка задания: 10-2.
ВВЕДЕНИЕ
Одним из методов решения задачи Ax = b является метод разложения матрицы A на треугольные матрицы, или метод LU-разложения. Преимуществом метода LU-разложения по сравнению с методом Гаусса является возможность болеее простого получения решений для различных векторов правой части системы.

Если все угловые миноры матрицы A отличны от нуля, тогда матрицу A можно представить в виде A = LU, где L – нижнетреугольная, U – верхнетреугольная матрицы.

Система запишется в виде: LUx = b.

Прямой ход заключается в решении системы Lz = b, в результате находится вектор z.

Обратный ход включает решение системы Ux = z, что позволяет найти вектор x.

Формулы для определения матриц L и U записываются в виде:





Задание 1. Написать М-функцию, реализующую разложение матрицы A а треугольные матрицы L и U.

% Разложение на треугольные матрицы

function [L, U, P] = findlu(A)

if det(A) ~= 0, % Матрица A - невырожденная

[k, k] = size(A); % Определение размерности матрицы А

L = zeros(k); % Формирование переменной для хранения матрицы L

U = eye(k); % Формирование переменной для хранения матрицы U

P = eye(k,k); % Формирование матрицы перестановок
%---Операции поддержки процесса визуализации---

h1 = figure(1);

set(h1,'Renderer','zbuffer','Color',[1 1 1]);

SUBPLOT(2,1,1), h2 = mesh(L, 'FaceColor',[1 1 1]);

colormap(gray);

h3 = findobj('Type','Axes');

set(h3,'Color',[1 1 1],'XColor',[0 0 0],'YColor',[0 0 0], 'ZColor',[0 0 0]);

SUBPLOT(2,1,2), h2=mesh(U,'FaceColor',[1 1 1]);

h3 = findobj('Type', 'Axes');

set(h3,'Color',[1 1 1],'XColor',[0 0 0],'YColor',[0 0 0], 'ZColor',[0 0 0]);

%----------------------------------------------

for i=1:k, % Процесс вычисления элементов матриц L и U

for j=1:k,

if i>=j, % Вычисление элементов матрицы L

sm = 0; % Начальное значение переменной для хранения суммы ряда

for m=1:(j-1)

sm = sm + L(i,m) * U(m,j); % Вычисление суммы ряда

end;

L(i,j) = A(i,j) - sm; % Вычисление элементов матрицы L

end;

if i
sm2 = 0; % Начальное значение переменной для хранения суммы ряда

for m=1:(i-1),

sm2 = sm2 + L(i,m) * U(m,j); % Вычисление суммы ряда

end;

U(i,j) = (A(i,j) - sm2) / L(i,i);

end;

end;
%---Визуализация матриц L и U---

pause(0.1);

SUBPLOT(2,1,1), h2=mesh(L,'FaceColor',[1 1 1]);

h3 = findobj('Type','Axes');

set(h3,'Color',[1 1 1],'XColor',[0 0 0],'YColor',[0 0 0], 'ZColor',[0 0 0]);

SUBPLOT(2,1,2), h2=mesh(U,'FaceColor',[1 1 1]);

h3 = findobj('Type', 'Axes');

set(h3,'Color',[1 1 1],'XColor',[0 0 0],'YColor',[0 0 0], 'ZColor',[0 0 0]);

%--- ---

end;

else, % Матрица А - вырожденная

disp('Матрица вырожденная');

end; % Выход из программы.

end
Функция возвращает матрицы L и U, а также диагональную матрицу P размерности k, равной размерности исходной матрицы А.

В процессе выполнения функция строит график, по оси z которого отображается значение элемента матрицы с координатами (x,y).

Задание 2. Решить заданную СЛАУ с использованием LU-разложения.
Исходные матрицы:

A =

3 0 3 0

2 2 2 2

0 2 1 1

1 0 2 3


b =

0

2

3

2

Ввод матриц в консоль MATLAB

A = [3,0,3,0;2,2,2,2;0,2,1,1;1,0,2,3];

b = [0; 2; 3; 2];
Применение функции разложения к матрице A

[L,U,P] = findlu(A);
Промежуточные результаты

L =

3 0 0 0

2 2 0 0

0 2 1 0

1 0 1 4

U =

1 0 1 0

0 1 0 1

0 0 1 -1

0 0 0 1

P =

1 0 0 0

0 1 0 0

0 0 1 0

0 0 0 1


Вывод в виде графика




Расчет матриц, обратных к U и L


inv(U) =

1 0 -1 -1

0 1 0 -1

0 0 1 1

0 0 0 1

inv(L) =

0.3333 0 0 0

-0.3333 0.5000 0 0

0.6667 -1.0000 1.0000 0

-0.2500 0.2500 -0.2500 0.2500


Расчет конечного результата:

x = inv(U) * inv(L) * P * b


x =

-1.2500

0.7500

1.2500

0.2500


Проверка результата:


A*x =

0

2

3

2


ЗАКЛЮЧЕНИЕ
В данной работе изучалась програмная реализация решения СЛАУ методом LU-разложения. В результате работы была написана функция разложения матрицы на верхне- и инижнетреугольную матрицы, которая после была применена для решения заданной системы уравнений. В отчете приводится листинг функции, а также промежуточные и конечные результаты вычислений. Функция, согласно заданию, проверяет исходную матрицу системы на невырожденность.

Эксперимент с данной системой (размерности 4) не выявил преимуществ использования метода LU-разложения перед методом Гаусса решения СЛАУ с использованием компьютера. Предположительно, результаты будут более заметны при расчете систем, с матрицей большей размерности.




Похожие:

Отчет о выполнении задания по теме \"Системы линейных алгебраических уравнений\" icon2. системы линейных алгебраических уравнений
Система линейных алгебраических уравнений, содержащая уравнений и неизвестных имеет следующий вид
Отчет о выполнении задания по теме \"Системы линейных алгебраических уравнений\" iconРешение системы линейных алгебраических уравнений
Цель: Освоить технологию решения систем линейных алгебраических уравнений в интегрированной среде MathCad
Отчет о выполнении задания по теме \"Системы линейных алгебраических уравнений\" iconРешение систем линейных алгебраических уравнений с ленточными матрицами. Пример решения линейной системы с трехдиагональной матрицей
Метод Гаусса для решения системы линейных алгебраических уравнений. Устойчивость метода Гаусса. Использование метода Гаусса для вычисление...
Отчет о выполнении задания по теме \"Системы линейных алгебраических уравнений\" iconРешение систем линейных алгебраических уравнений. Схема единственного деления
Метод простых итераций для решения систем линейных алгебраических уравнений. Условия сходимости
Отчет о выполнении задания по теме \"Системы линейных алгебраических уравнений\" iconРешение систем линейных алгебраических уравнений прямые методы. Дана система линейных алгебраических уравнений. Требуется найти решение системы
В дальнейших рассмотрениях вектор-столбец правых частей удобнее рассматривать как й столбец расширенной матрицы: При ссылках на строки...
Отчет о выполнении задания по теме \"Системы линейных алгебраических уравнений\" iconМетодические рекомендации к решению контрольной работы №1 по теме «Системы линейных уравнений»
«Системы линейных уравнений» по дисциплине «Математика» для студентов 1 курса факультета тэс
Отчет о выполнении задания по теме \"Системы линейных алгебраических уравнений\" iconРешение систем линейных алгебраических уравнений и неравенств. Выпуклые многогранники и многогранные области
...
Отчет о выполнении задания по теме \"Системы линейных алгебраических уравнений\" iconЛекция Исследование и решение систем алгебраических уравнений. Основные вопросы
При раскрытии понятий определителя и матрицы, при решении сис-тем линейных уравнений мы рассматривали в основном систему из n линей-ных...
Отчет о выполнении задания по теме \"Системы линейных алгебраических уравнений\" iconРешение систем линейных уравнений. Система линейных алгебраических уравнений (слау) имеет вид: 1) или в матричной форме Ax = B
Слау обычно основаны на приведении матрицы в системе 2 к треугольному виду, т к системы с треугольными матрицами легко решаются путем...
Отчет о выполнении задания по теме \"Системы линейных алгебраических уравнений\" iconПрямые методы решения систем линейных алгебраических уравнений
Прямые методы решения систем линейных алгебраических уравнений. Лабораторная работа для студентов дневного отделения. Специальность:...
Разместите кнопку на своём сайте:
ru.convdocs.org


База данных защищена авторским правом ©ru.convdocs.org 2016
обратиться к администрации
ru.convdocs.org