Próbuję znaleźć tablicę 2d reprezentującą minimalne wartości trzeciego wymiaru w tablicy 3d., Np.Znajdź minimalną niezerową wartość w macierzy
a = floor(rand(10,10,3).*100); % representative structure
b = min(a,[],3); % this finds the minimum but also includes 0
Próbowałem za pomocą:
min(a(a>0),3)
ale to nie jest prawidłowy? Sądzę, że mógłbym uporządkować trzeci wymiar a następnie znaleźć minimum w granicach 1: głębokość-1 - ale to nie wydaje się być najbardziej efektywnym sposobem?
Jakieś myśli?
Zauważ, że jeśli rodzaj minimalna jest drugim (indeks 1 MATLAB jeśli indeksy od 0) elementu, nie musisz znaleźć minimum '1: depth-1' już. Ale tak, to wciąż jest nieskuteczne i musi istnieć lepszy sposób. – IVlad
Powinno być 'min (a, [], 3)', w przeciwnym razie bierzesz mniejsze z 'a' i 3 – Jonas
Dzięki za wskazanie, że wypisujesz Jonas, poprawiłem to teraz. – trican