38 3 MACIERZE, ŁAŃCUCHY I OPERATORY
ans =
57.2958
Argumentem funkcji eval jest łańcuch, dlatego umieszczono ją w tabeli 3.6. Zwraca się uwagę, że funkcja eval reprezentuje sobą także narzędzie programowania specyficzne dla MATLAB-a. Stąd inne przykłady stosowania tej funkcji podano w rozdziale 4.2.
Wyrażenia w MATLAB-ie buduje się stosując różnego rodzaju operatory. W tabeli 3.2 wyszczególniono operatory arytmetyczne. Oprócz nich używa się operatorów relacji i operatorów logicznych, które zestawiono w tabeli 3.7.
Tab.3.7 Operatory relacji i operatory logiczne
operatory relacji |
operatory logiczne |
< mniejszy od <= mniejszy lub równy > większy od > = większy lub równy = = równy = nierówny (różny od) |
AND (koniunkcja) | OR (alternatywa) NOT (negacja) xor EXCLUSIVE OR |
Priorytet (kolejność działania) operatorów w MATLAB-ie jest następujący:
• operatory arytmetyczne,
• operatory relacji,
• operatory logiczne.
3.7.1 Relacje i wyrażenia logiczne
Relacje i wyrażenia logiczne zapisuje się korzystając z operatorów podanych w tabeli 3.7. Wynikiem relacji i wyrażenia logicznego może być wartość
skalarna (0 lub 1) lub wektor bądź macierz o wartościach zero lub jeden
Argumentami relacji mogą być macierze. Rozmiary porównywanych macierzy muszą być takie same. Wynikiem jest macierz. Elementy macierzy wynikowej mają wartości zero lub jeden.
Porównywanie wartości skalarnych i macierzy jest możliwe. Łańcuchy również można porównywać ale do tego celu używa się funkcji z tabeli 3.6.
W wyrażeniach logicznych o argumentach macierzowych każdy element macierzy równy zero jest traktowany jak FALSE. Natomiast każdy nieze-rowy element reprezentuje TRUE. Poniżej zamieszczono fragment sesji z MATLAB-em, prezentujący rezultaty obliczeń kilku relacji i wyrażeń logicznych, dla wprowadzonych wcześniej do przestrzeni roboczej macierzy A i B.
>>A,B '/,zdefiniowano macierze A i B
A =
-1 |
2 |
0 |
4 |
0 |
6 |
7 |
8 |
-9 |
B = | ||
1 |
2 |
3 |
1 |
2 |
3 |
1 |
2 |
3 |
»A>=B | ||
ans = | ||
0 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
3.7.2 |
Funkcje logiczno |
MATLAB zawiera też funkcje logiczne (tabela 3.8) Stanowią one istotne uzupełnienie operatorów z tabeli 3.7, przy konstruowaniu relacji i wyrażeń logicznych. Są one stosowane, np. przy pisaniu wyrażeń sterujących w instrukcji warunkowej if oraz iteracyjncj while.
Argumentami funkcji logicznych mogą być: wektory i macierze, zmienne łańcuchy oraz wyrażenia. Wynikiem funkcji logicznej może być wartość jeden lub zero (TRUE i FALSE) albo macierz o elementach jeden i zero.