Guest User

Untitled

a guest
Apr 20th, 2018
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.63 KB | None | 0 0
  1. function [A,P] = RP(A)
  2. % Liefert für Parameter A: R und P
  3. [m,n]=size(A);
  4.  
  5. % Rekursionsabbruch
  6. if m==1
  7. P=[1];
  8. return;
  9. end
  10.  
  11. % Spaltenpivotsuche: (betragsmäßig größtes Element)
  12. % j = größtes Element (unbenutzt), i = Zeilenindex
  13. [j,i]=max(abs(A(:,1)));
  14.  
  15. % P (für diese Größe) hinbekommen: 1 mit i vertauschen
  16. P=eye(n);
  17. P(:,1)=P(:,i);
  18. P(:,i)=0;
  19. P(1,i)=1;
  20.  
  21. % Zeilentausch (Pivotzeile hoch)
  22. A=P*A;
  23.  
  24. % "Update":
  25. for i=2:n
  26. A(i,:)=A(i,:)-A(i,1)/A(1,1)*A(1,:);
  27. end
  28.  
  29. % P vorbereiten
  30. Pneu=eye(n);
  31.  
  32. % Rekursionsaufruf
  33. [A(2:end,2:end),Pneu(2:end,2:end)]=RP(A(2:end,2:end));
  34.  
  35. % P bearbeiten:
  36. P=Pneu*P;
Add Comment
Please, Sign In to add comment