O -1 o m współrzędnych, zaś A oznacza macierz o wymiarach mxn:
- A(w,:) specyfikuje te wiersze macierzy A, które odpowiadają niezerowym współrzędnym wekjjóra
indeksowego (wektora wyboru) w; r \
- w = A(: ,4) < 2; w tym przypadku w jest wektorem(o - y o tylu współrzędnych ile wierszy liczy macierz A , przy czym 0 otrzymujemy wówczas, gdy dany element w 4. kolumnie macierzy A jest > 2 , zaś 1 odpowiada sytuacji, w której element taki jest < 2 ; teraz po wykonaniu operacji
x = A(w,:)
macierz x składa się z tych wierszy macierzy A , którym odpowiadają 1 w wektorze wyboru w; v = v(abs(v) <= 2); zapis ten powoduje usuwanie z danego wektora v współrzędnych o wartości bezwzględnej większej od 2:
v = [-8 3 5];
v = v(abs(v)<- 2); -»v = Q; ale v = v(abs(v) <~ 5); -»v = [3 5],
Tworzenie wektorów indeksowych
- k - find(x); otrzymuje się indeksy niezerowych współrzędnych wektora x lub 0 gdy wszystkie współrzędne x są zerami (w przypadku, w którym x jest macierzą, "faktycznym" argumentem funkcji find jest x(:));
- [i, j) = find(x); zwracane są indeksy wiersze i kolumn niezerowych elementów danej macierzy x;
• Otyty] = find(x)l zwracany jest ponadto kolumnowy wektor niezerowych elementów macierzy x .
Przykłady:
a) Niech
x = [5 0 8 0 3]';
- find(x)\ w odpowiedzi uzyskujemy [I 3 5];
- find(x — 0); prowadzi do odpowiedzi [2 4]'; (wewnętrzna operacja (x~0) daje bowiem wektor(0 -1) o postaci [0101 0];).
b) Niech
m= 13 15 17 ; .
Przypisanie [tyty] = findirn > 16); prowadzi do następująco ugruntowanego wyniku;
- wewnętrzne porównanie [m >16) daje roboczą macierz 0-1 o wymiarach takich jak macierz m:
1 0 0 0 0 1 0 1 0
- funkcja find zastosowana do owej roboczej macierz}' daje wynik:
i = [1 3 2]', y = [1 2 3]' oraz * = [1 1 1]'
(robocza macierz przeglądana jest bowiem w porządku kolumnowym),
c) Należy w danym wierszowym wektorze x zastąpić wszystkie ujemne współrzędne zerami.
- 3 -