2016-04-06 4 views
1

Ich habe Raster mit Wahrscheinlichkeiten (pforest, ppasture) und ich werde den Werten innerhalb des Rasters einen Rang geben, so dass die höchste Wahrscheinlichkeit den Wert 1 erhält, der zweithöchste Wert 2,. ...geben Sie einen 'Rank-Wert' zu großen Rastern

Ich habe versucht, aber es ist fehlgeschlagen.Es gibt eine Ausgabe, aber nicht die richtige Ausgabe. Jeder eine echte Lösung?

RankforestH=zeros(592,1339); 
    [ignore,idx]=sort(pforest); 
rank(idx)=1:numel(idx); 
RankforestH(:)=rank; 

RankpastureH=zeros(592,1339); 
    [ignore,idx]=sort(ppasture); 
rank(idx)=1:numel(idx3); 
RankpastureH(:)=rank; 
; 
+2

Bitte geben Sie eine [MCVE] und erklären, warum die Ausgabe, die Sie zur Zeit erhalten nicht die Ausgabe, die Sie ist begehrt. – excaza

+0

Ich nehme an, die Größe von 'pforest' und' ppasture' ist '[592,1339]', ist das korrekt? – beaker

+0

Übrigens ist das Öffnen von doppelten Fragen im Allgemeinen verpönt. Es wäre besser, Ihre ursprüngliche Frage zu verbessern, indem Sie Ihren Code und Beispiele hinzufügen. – beaker

Antwort

1

sollte diese Arbeit:

RankforestH = zeros(size(pforest)); 
[~,idx] = sort(pforest, 'descend'); 
RankforestH(idx) = 1:numel(idx); 
Verwandte Themen