Advertisement
nigu

eserc5

Nov 7th, 2014
143
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 0.82 KB | None | 0 0
  1. % Esercitazione 5
  2. % risoluzione di un sistema lineare Ax=b
  3. % (A matrice casuale nxn)
  4. % mediante Gauss senza scambio di righe
  5.  
  6. clc, clear;
  7.  
  8. fprintf('\n Risoluzione del sistema Ax=b (A nxn)\n');
  9.  
  10. n=input(' Dai la dimensione del problema: ');
  11.  
  12. % creazione del problema
  13. A=rand(n);
  14. A(1,1)=0;
  15. x_esatto=ones(n,1);
  16. b=A*x_esatto;
  17. A=[A,b];
  18.  
  19. % applicazione di Gauss;
  20. for k=1:n-1
  21.     for i=k+1:n
  22.         m = A(i,k)/A(k,k);
  23.         for j=k+1:n+1
  24.             A(i,j)=A(i,j)-m*A(k,j);
  25.         end
  26.     end
  27. end
  28. disp(A);
  29.  
  30. %risoluzione del sistema triangolare superiore
  31.  
  32. x(n)=A(n,n+1)/A(n,n);
  33. for i=(n-1):-1:1
  34.     x(i)=A(i,n+1);
  35.     for j=(i+1):n
  36.         x(i)=x(i)-A(i,j)*x(j);
  37.     end
  38.     x(i)=x(i)/A(i,i);
  39. end
  40.  
  41. % output
  42.  
  43. errore_relativo=norm(x_esatto-x')/norm(x_esatto);
  44. fprintf('\n errore=%e\n\n ', errore_relativo);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement