Matlab fórum
Prahovanie - Verzia pre tlač

+- Matlab fórum (http://matlab.sk)
+-- Fórum: Matlab (/forumdisplay.php?fid=4)
+--- Fórum: Matematika, štatistika a optimalizácia / Math, Statistics, and Optimization (/forumdisplay.php?fid=7)
+--- Téma: Prahovanie (/showthread.php?tid=27)



Prahovanie - patrick90 - 03-04-2013 11:58

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?


RE: Prahovanie - duroL - 03-04-2013 13:18

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