2016-04-06 3 views
1

У меня есть растры с вероятностями (pforest, ppasture), и я дам ранг значениям в растре, чтобы наивысшая вероятность получала значение 1, второе наибольшее значение 2. ...дают «значение ранга» для больших растров

Я пробовал это, но он потерпел неудачу. Он дает выход, но не правильный выход. Любое настоящее решение?

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

Пожалуйста, обеспечивают [mcve] и объяснить, почему выход вы в настоящее время получают не выход вы хотите. – excaza

+0

Я предполагаю, что размер 'pforest' и' ppasture' '' [592,1339] ', это правильно? – beaker

+0

Кстати, открытие дублирующих вопросов обычно неодобрительно. Было бы лучше улучшить исходный вопрос, добавив код и примеры. – beaker

ответ

1

Это должно работать:

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

 Смежные вопросы

  • Нет связанных вопросов^_^