Студопедия

КАТЕГОРИИ:


Архитектура-(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; Просмотров: 2254; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.