КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Метод Гаусса и его реализация в пакете MATLAB
Рассмотрим систему линейных алгебраических уравнений (3.4) при условии, что матрица A =(aij) невырождена. Метод Гаусса состоит в преобразовании системы (3.4) последовательным исключением переменных к равносильной системе с треугольной матрицей (3.5) Затем из системы (3.5) последовательно находят значения всех неизвестных . Т.о., процесс решения системы (3.4) распадается на два этапа: 1. Прямой ход - приведение системы (3.4) к треугольному виду. 2. Обратный ход - нахождение значений неизвестных переменных, в соответствие с (3.5). Для реализации метод Гаусса в пакете MATLAB необходимо: 1. Создать файл Exchange.m, содержащий описание функции, осуществляющей перестановку строк при обнаружении в текущей строке нулевого элемента на главной диагонали.
% листинг файла Exchange.m function z=Exchange(C,i) k=i+1; while C(k,i)==0 k=k+1; end; for j=1:size(C,1) s=C(i,j); C(i,j)=C(k,j); C(k,j)=s; end; z=C; 2. Создание файла Simplex.m, содержащего описание функции, возвращающей расширенную матрицу системы к диагональному виду
% листинг файла Simplex.m function z=Simplex(A,b) N=size(A,1); % определение числа уравнений системы C=cat(2,A,b); % создание расширенной матрицы системы for i=1:N-1 if C(i,i)==0 C=Exchange(C,i); end; for j=0:N C(i,N+1-j)=C(i,N+1-j)/C(i,i); end; for m=i+1:N alpha=C(m,i); for j=i:N+1 C(m,j)=C(m,j)-alpha*C(i,j); end; end; end; C(N,N+1)=C(N,N+1)/C(N,N); C(N,N)=1; z=C;
3. Создать файл Gauss.m, содержащий описание функции, возвращающей решение системы линейных уравнений методом Гаусса. % листинг файла Gauss.m function z=Gauss(A,b) C=Simplex(A,b); N=size(A,1); v(N)=C(N,N+1); for j=1:N-1 s=0; for k=0:j-1 s=s+C(N-j,N-k)*v(N-k); end; v(N-j)=(C(N-j,N+1)-s)/C(N-j,N-j); end; z=v'; 4. Задать матрицу системы линейных уравнений
>> A=[1,2,3,4,5;10,9,8,7,6;5,9,11,12,13;20,1,3,17,14;12,10,4,16,15] A =
Дата добавления: 2014-01-06; Просмотров: 2330; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |