Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function [A,P] = RP(A)
- % Liefert für Parameter A: R und P
- [m,n]=size(A);
- % Rekursionsabbruch
- if m==1
- P=[1];
- return;
- end
- % Spaltenpivotsuche: (betragsmäßig größtes Element)
- % j = größtes Element (unbenutzt), i = Zeilenindex
- [j,i]=max(abs(A(:,1)));
- % P (für diese Größe) hinbekommen: 1 mit i vertauschen
- P=eye(n);
- P(:,1)=P(:,i);
- P(:,i)=0;
- P(1,i)=1;
- % Zeilentausch (Pivotzeile hoch)
- A=P*A;
- % "Update":
- for i=2:n
- A(i,:)=A(i,:)-A(i,1)/A(1,1)*A(1,:);
- end
- % P vorbereiten
- Pneu=eye(n);
- % Rekursionsaufruf
- [A(2:end,2:end),Pneu(2:end,2:end)]=RP(A(2:end,2:end));
- % P bearbeiten:
- P=Pneu*P;
Add Comment
Please, Sign In to add comment