2009-11-24 26 views

Odpowiedz

12

nie wiem o wielowymiarowej sposób to zrobić automatycznie, ale indeksowanie MATLAB jest wystarczająco dobre, jeśli jesteś szczęśliwy, aby określić go na każdym wymiarze:

a(1:2:end,1:2:end) 
+0

+1: Jakoś zapomniałem o składni "końca" w mojej odpowiedzi. Dobry połów. ;) – gnovice

5

ten powinien pracować dla konkretnego przykładu:

result = a([1 3],[1 3]); 

i bardziej ogólnie:

result = a(1:2:size(a,1),1:2:size(a,2)); 

Więcej informacji na temat indeksowania w Matlab, można sprawdzić w dokumentacji here.

1
samples_x = floor(linspace(1, size(a,1), new_Nx)); 
samples_y = floor(linspace(1, size(a,2), new_Ny)); 
new_a = a(samples_x,samples_y) 
+0

+1 i witamy w Stack Overflow! Twoja odpowiedź może być jeszcze bardziej przydatna, jeśli wyjaśnisz w kilku słowach, co robi twój kod. Możesz użyć linku edycji pod swoim pytaniem ... –

1

znalazłem to dzisiaj. A jest oryginalną matrycą, próbkowaną co s elementem.

Adown=downsample(downsample(A,s)',s)' 

To pobiera próbki macierzy w pionie, transponuje, a następnie próbkuje kierunek ortogonalny, a następnie przenosi z powrotem.

Powiązane problemy