Matlab fórum

Úplná verzia: Prahovanie
Prezeráte si holú variantu vašeho obsahu. Pozrieť si úplnú verziu s príslušným formátováním.
Zdravím, potreboval by som pomôcť s hľadaním prahu, ide o to že mám maticu, dajme tomu 128*128 a každý prvok má pridelenú hodnotu v rozsahu približne -200 po 900, vždy je ten rozsah iný.Môj algoritmus pracuje na princípe porovnávania jednotlivých hodnôt matice s nejakou hodnotou, a toto vykonáva dovtedy až kým sa počet prvkov menších ako prahová hodnota nerovná polovici (128*128)/2 -čiže presne polovica prvkov padne pod a polovica nad prahovú hodnotu. Toto mi takto funguje avšak doba výpočtu je strašne zdĺhavá, a niekedy mi to prahovú hodnotu ani nenájde (nechápem prečo) vedeli by ste nejaký iný spôsob?
Ahoj

Ja som to mozno nepochopil spravne .... Tak skus taku malu ukazku, ktora je to najpomalsie co ma napada.

Kód:
clc
N = 128;
A = rand(N,N);

tic
for i=1:N*N
   c = find(A>A(i));
   pocet(i) = length(c);  
end
pocet = pocet-0.5*N*N;
[res,ind] = sort(abs(pocet));
PH = A(ind(1));
fprintf('Mozno ja som prahova hodnota %f\nUrcenie mi trvalo %f',PH,toc);

Duro
Referenčné URL