PROJEKTY, NUMERKI function r, function r=iteracjaodwrotna


function r=iteracjaodwrotna

A=[1 -1 0;-2 4 -2;0 -1 2];

xk=[1;0;0];

lamk=0.0;

c=(xk'*xk)^0.5;

uk=xk/c;

epsL=1;

epsR=1;

iter=1;

A=inv(A);

while (eps>1e-6)&(epsR>1e-6)

xkl=A*uk;

lamk1=uk'*xk1;

k=epsR;

c=(xkl'*xkl)^0.5;

uk1=xk1/c;

epsL=abs((lamk1-lamk)/lamk1);

epsR=((uk1-uk)'*(uk1-uk))^0.5;

iter=iter+1;

if (iter>200)

printf('proces rozbiezny\n');

return

end

lamk=lamk1;

uk=uk1;

end

lambda=lamk^(-1);

x=uk;

end

a to ponoć jacobiego metoda

A=[10,1,2;3,10,1;0,2,5];

B=[13;14;7];

n=size(A,1);

xk=zeros(1,n);

x=zeros(1,n);

eps=0.00001;

for iter=1:50

for i=1:n

s=0;

for k=1:n

if k~=i

s=s+A(i,k)*x(k);

end

end

xk(i)=(B(i)-s)/A(i,i);

end

max=sqrt((x(1)-xk(1))^2);

for i=2:n

if sqrt((x(i)-xk(i))^2)>max

max=sqrt((x(i)-xk(i))^2);

end

end

x=xk;

if max<=eps

end

end

end

x

max



Wyszukiwarka