metoda potegowa gerszgorin gauss seidel

Metoda potęgowa



A=[12 2 5 4;
2 9 2 4;
3 5 15 1;
2 3 1 10]
y=[1;2;3;4]
blad=0.0001
iter=0;
while iter <= 10

iter=iter+1


y=y/norm(y)%wektor znormalizowany
x=A*y;
l=y'*x
y=x
end



























Metoda Gerszgorina




clc
clear
A=[ 12 8 5 -4; 1 8 6 4; 1 2 4 3; 1 2 3 2]
D=diag(A)
r=zeros(4,1);
r(1)=abs(A(1,2))+abs(A(1,3))+abs(A(1,4))
r(2)=abs(A(2,1))+abs(A(2,3))+abs(A(2,4))
r(3)=abs(A(3,1))+abs(A(3,2))+abs(A(3,4))
r(4)=abs(A(4,1))+abs(A(4,2))+abs(A(4,3))
C=[r(1);r(2);r(3);r(4)]
E=D-C
F=D+C
min=min(E)
max=max(F)
t=linspace(0, 2*pi, 200);
% okrąg o środku (a,b) i promieniu r we wsp. biegunowych
for i=1:4
x=A(i,i)+r(i)*cos(t);
y=r(i)*sin(t);
plot(x,y);
axis equal;
hold on;
end
% osie układu
plot([-2*r 2*r], [0 0],'k:');
plot([0 0], [-2*r 2*r],'k:');
for i=1:4
% środek okręgu - czerwona kropka
plot(A(i,i),0,'.','MarkerSize',14,'MarkerEdge','r');
hold on;
end
hold off;












Metoda Gaussa



clc
A=[12 2 7 4; 2 9 2 8; 3 5 15 9; 7 3 5 10]
B=[10 2 4 13]';
C=[A,B];
a=det(A);
if a==0;
disp('zla macierz');
stop
end
%zerowanie pierwszej kolumny
C(2,:)=C(2,:)-C(1,:)*(C(2,1)/A(1,1))
C(3,:)=C(3,:)-C(1,:)*(C(3,1)/A(1,1))
C(4,:)=C(4,:)-C(1,:)*(C(4,1)/A(1,1))
%zerowanie drugiej kolumny
C(3,:)=C(3,:)-C(2,:)*(C(3,2)/C(2,2))
C(4,:)=C(4,:)-C(2,:)*(C(4,2)/C(2,2))
%zerowanie 3ciej kolumny
C(4,:)=C(4,:)-C(3,:)*(C(4,3)/C(3,3))

%backsub
q=C(4,5)/A(4,4)
w=1/C(3,3)*(C(3,5)-C(3,4)*q)
e=1/C(2,2)*(C(2,5)-C(2,4)*q-C(2,3)*w)
r=1/C(1,1)*(C(1,5)-C(1,4)*q-C(1,3)*w-C(1,2)*e)

















Metoda Gaussa-Seidla







A=[11 3 4 1; 5 14 5 3; 1 7 16 2; 2 6 3 17]
B=[3; 5; 3; 1]
x=[0; 0; 0; 0];
tol=10^(-6);
i=0;
while
i=i+1
y=x
for i=1:4
x(i)=x(i)+(B(1,1)-A(i,:)*x)/A(i,i);
end
end




Wyszukiwarka

Podobne podstrony:

więcej podobnych podstron