Автор: Пользователь скрыл имя, 27 Февраля 2013 в 10:13, лабораторная работа
1. Реализовать метод Гаусса решения системы линейных алгебраических уравнений.
2. Реализовать метод Гаусса с постолбцовым выбором главного элемента.
3. Вычислить в рамках метода Гаусса определитель матрицы А.
Министерство образования Российской Федерации
Белгородский государственный университет
Факультет компьютерных наук и телекоммуникаций
Кафедра
математического обеспечения и
администрирования
Лабораторная работа №3:
«Метод Гаусса решения системы линейных алгебраических уравнений».
по дисциплине: «Вычислительная математика»
Вариант 2
Студентка: Семенко Ю.В.
Белгород 2008
Ход работы.
1. Реализовать метод Гаусса
2. Реализовать метод Гаусса с постолбцовым выбором главного элемента.
3. Вычислить в рамках метода Гаусса определитель матрицы А.
2. |
-2 |
3 |
-2 |
2 | |
3 |
-2 |
1 |
2 | ||
-5 |
10 |
-7 |
3 | ||
1. clc
clear
a=[-2 3 -2;3 -2 1; -5 10 -7];
a1=a;
b=[2;2;3];
n=3;
s=0; m=0; m1=0; s1=0;q=0;
for i=1:(n-1)
if (a(i,i)==0)
for e=i+1:n
if a(e,i)==0
else
for j=i:3
tempa(j)=a(e,j);
a(e,j)=a(i,j);
a(i,j)=tempa(j);
end
tempb=b(e);
b(e)=b(i);
b(i)=tempb;
end
end
end
for k=(i+1):n
if (a(k,i)==0)
else
l=a(i,i)/a(k,i);
for j=i:n
a(k,j)=a(i,j)-a(k,j)*l;
end
b(k)=b(i)-b(k)*l;
end
end
end
for i=1:n
for j=1:n
if a(i,j)==0
m=m+1;
end
if (m<n)
s=s+0;
else s=s+1;
end
end
m=0;
end
d=[a b];
for i=1:n
for j=1:(n+1)
if d(i,j)==0
m1=m1+1;
end
if (m1<(n+1))
s1=s1+0;
else s1=s1+1;
end
end
m1=0;
end
if (~(s1==s))
c='система не имеет решений'
else s=0;
for i=n:-1:1
for j=n:-1:(i+1)
s=s+a(i,j)*x(j);
end
x(i)=(b(i)-s)/a(i,i);
s=0;
end
end
x
a1*x'
2. clc
clear
a=[-2 3 -2;3 -2 1; -5 10 -7];
a1=a;
b=[2;2;3];
n=3;
s=0; m=0; m1=0; s1=0;q=0;
for i=1:(n-1)
maxi=a(i,i);
maxiE=1;
for e=(i+1):n
if a(e,i)>maxi
maxi=a(e,i);
maxiE=e;
end
end
for j=i:n
tempR(j)=a(maxiE,j);
a(maxiE,j)=a(i,j);
a(i,j)=tempR(j);
end
tempT=b(maxiE);
b(maxiE)=b(i);
b(i)=tempT;
for k=i+1:n
if (a(k,i)==0)
else
l=a(i,i)/a(k,i);
for j=i:3
a(k,j)=a(i,j)-a(k,j)*l;
end
a
b(k)=b(i)-b(k)*l;
end
end
end
for i=1:n
for j=1:n
if a(i,j)==0
m=m+1;
end
if (m<n)
s=s+0;
else s=s+1;
end
end
m=0;
end
d=[a b];
for i=1:n
for j=1:(n+1)
if d(i,j)==0
m1=m1+1;
end
if (m1<(n+1))
s1=s1+0;
else s1=s1+1;
end
end
m1=0;
end
if (~(s1==s))
c='система не имеет решений'
else s=0;
for i=n:-1:1
for j=n:-1:(i+1)
s=s+a(i,j)*x(j);
end
x(i)=(b(i)-s)/a(i,i);
s=0;
end
end
x
a1*x'
3. clc
clear
a=[-2 3 -2;3 -2 1; -5 10 -7];
a1=a;
b=[2;2;3];
n=3;
l1=1;
s=0; m=0; m1=0; s1=0;q=0;
for i=1:(n-1)
if (a(i,i)==0)
for e=i+1:n
if a(e,i)==0
else
for j=i:3
tempa(j)=a(e,j);
a(e,j)=a(i,j);
a(i,j)=tempa(j);
end
l1=-l
end
end
end
for k=(i+1):n
if (a(k,i)==0)
else
l=a(i,i)/a(k,i);
for j=i:n
a(k,j)=a(i,j)-a(k,j)*l;
end
end
end
end
p=1;
for i=1:n
if(abs(a(i,i))<10^-5)
a(i,i)=0;
end
p=p*a(i,i);
end
p
det(a1)
Информация о работе Метод Гаусса решения системы линейных алгебраических уравнений