Advertisement
icatalin

matlab ultimul lab 29.05.2018

May 29th, 2018
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.92 KB | None | 0 0
  1. function x = Gausspivot(A,b)
  2. n=size(A,1);
  3. A(:,n+1)=b(:);
  4. index=1:n
  5. for k=1:n
  6. max=abs(A(k,k))
  7. for i=k:n
  8. for j=k:n
  9. if abs(A(i,j))>max
  10. max=abs(A(i,j))
  11. p=i;
  12. m=j;
  13. end
  14. end
  15. end
  16. if p~=k
  17. aux=A(k,:);
  18. A(k,:)=A(p,:);
  19. A(p,:)=aux;
  20. end
  21. if m~=k
  22. aux=A(:,m);
  23. A(:,m)=A(:,k);
  24. A(:,k)=aux
  25. aui=index(m);
  26. index(m)=index(k);
  27. index(k)=aui;
  28. end
  29. for l=k+1;n
  30. A(l,:)=A(l,:)-A(l,k)/A(k,k)*A(k,:);
  31. end
  32. end
  33. xmod=SubstDesc(A(:,1:n),A(:,n+1))
  34. display('xmod=')
  35. disp(xmod)
  36. display('indice mod.')
  37. disp(index)
  38. for i=1:n
  39. x(i)=xmod(index(i));
  40. end
  41. end
  42.  
  43.  
  44. function x = SubstDesc(A,b)
  45. n=size(A,1);
  46. x(n)=b(n)/A(n,n);
  47. for k=n-1:-1:1
  48. s=0
  49. for j=k+1:n
  50. s=s+A(k,j)*x(j);
  51. end
  52. x(k)=(b(k)-s)/A(k,k);
  53. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement