Descărcați ca doc, pdf sau txt
Descărcați ca doc, pdf sau txt
Sunteți pe pagina 1din 3

1. clc 2. A=[] 3. b=[] 4. n=4; 5. a=A 6. for r=1:n-1 7. 8. 9.

fprint (\n Etapa %d \n,r) Av=A; bv=b;

10. for i=r+1:n 11. for j=1:n 12. A(i,j)=Av(i,j)-Av(i,r)*Av(r,j)/Av(r,r); 13. 14. 15. 16. 17. A b end end b(i)=bv(i)-Av(i,r)*bv(r)/Av(r,r)

18. end 19. x=zeros(n,1) 20. x(n)=b(n)/A(n,n); 21. for i=n-1:-1:1 22. s=0; 23. for j=i+1:n 24. s=s+A(i,j)*x(j) 25. 27. x 28. disp (Verificare) 29. A*x end 26. disp (Solutia prin metoda Gauss)

clc; disp('Introducerea matricii sistemului'); a=input('a=') A=a c=a; [n,n]=size(a) disp('Coloana termenilor liberi'); b=input('b=') B=b; U=diag(diag(A)); B=eye(n)-inv(U)*A; c=inv(U)*b; ro=norm(eig(B),inf); if ro>=1 disp('Metoda Jacobi nu este convergenta'); else x=zeros(n,1); e=A*x-b; disp('Precizia de calcul:'); eps=input('eps=');p=a; while norm(e,inf)>eps x=B*x+c; e=A*x-b; p=p+1; end disp('Solutia aproximativa cu metoda Jacobi este:'); x fprinf('Solutia a fost gasita cu precizia %f dupa %d pasi, eps, p'); end Metoda lui Jacobi clc; disp('Introducerea matricii sistemului'); a=input('a=') A=a c=a;

[n,n]=size(a) disp('Coloana termenilor liberi'); b=input('b=') B=b; U=diag(diag(A)); B=eye(n)-inv(U)*A; c=inv(U)*b; ro=norm(eig(B),inf); if ro>=1 disp('Metoda Gauss-Sleidel nu este convergenta'); else x=zeros(n,1); e=A*x-b; disp('Precizia de calcul:'); eps=input('eps=');p=0; while norm(e,inf)>eps x=B*x+c; e=A*x-b; p=p+1; end disp('Solutia aproximativa cu metoda Gauss-Sleidel este:'); x fprintf('\n Solutia a fost gasita cu precizia %f dupa %d pasi', eps,p); end

S-ar putea să vă placă și