Главная Другое
Экономика Финансы Маркетинг Астрономия География Туризм Биология История Информатика Культура Математика Физика Философия Химия Банк Право Военное дело Бухгалтерия Журналистика Спорт Психология Литература Музыка Медицина |
страница 1 ЯДЕРНЫЙ УНИВЕРСИТЕТ «МИФИ» ОТЧЕТ
"Системы линейных алгебраических уравнений" по курсу
«ВЫЧИСЛИТЕЛЬНАЯ МАТЕМАТИКА» выполнил студент группы А6-02 Логинов А.В. Принял преподаватель Москва, 2011г. ЗАДАНИЕ
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 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;
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
В процессе выполнения функция строит график, по оси z которого отображается значение элемента матрицы с координатами (x,y). Задание 2. Решить заданную СЛАУ с использованием LU-разложения.
Ввод матриц в консоль MATLAB A = [3,0,3,0;2,2,2,2;0,2,1,1;1,0,2,3]; b = [0; 2; 3; 2];
[L,U,P] = findlu(A); Промежуточные результаты
Вывод в виде графика ![]() Расчет матриц, обратных к U и L
Расчет конечного результата: x = inv(U) * inv(L) * P * b
Проверка результата:
ЗАКЛЮЧЕНИЕ
Эксперимент с данной системой (размерности 4) не выявил преимуществ использования метода LU-разложения перед методом Гаусса решения СЛАУ с использованием компьютера. Предположительно, результаты будут более заметны при расчете систем, с матрицей большей размерности. Смотрите также: Отчет о выполнении задания по теме "Системы линейных алгебраических уравнений"
51.29kb.
1 стр.
Урок в 7 классе по теме: «Системы линейных уравнений в решении алгебраических задач»
94.58kb.
1 стр.
Линейных уравнений
38.62kb.
1 стр.
Программа вступительных испытаний в магистратуру по направлению 010100. 68 Математика Программа обсуждена на заседании кафедры ит
150.53kb.
1 стр.
Оригинальность идеи и подхода, использование разнообразных приемов
100.15kb.
1 стр.
«Решение систем линейных алгебраических уравнений»
96.46kb.
1 стр.
О построении пары взаимно простых чисел
157.82kb.
1 стр.
Решение систем трех линейных уравнений. Матрицы и действия над ними
48.6kb.
1 стр.
Решение систем трех линейных уравнений. Матрицы и действия над ними
78.62kb.
1 стр.
Разработка программы на языке программирования Паскаль «Решения системы линейных уравнений» разными методами
75.93kb.
1 стр.
Отчет о выполнении муниципального задания на оказание муниципальной услуги (выполнение работ) физическим и юридическим лицам
173.15kb.
1 стр.
Отчет о выполнении муниципального задания 70.66kb.
1 стр.
|