36 3 MACIERZE, ŁAŃCUCHY I OPERATORY
» spy(s) '/.rysunek - widoczne elementy niezerowe
» title('Macierz rzadka: spy(s) wskazuje elementy niezerowe.’)
>> print -deps spygraf '/.zapis rysunku (encapsulated PostScript)
O
5 10 1 5 20 25 30 35 40 45 50
Macierz rzadka: spy(s) wskazuje elementy niezerowe.
O 10 20 30 40 50
nz = 50
Rys. 3.1 Macierz rzadka: wskazano elementy niezerowe
Gęstość macierzy można ocenić na podstawie rysynku wykonywanego poleceniem spy. Na rysunku 3.1, każdy niezerowy element macierzy jest oznaczony punktem. Indeksy elementów niezerowych macierzy można określić za pomocą funkcji find, np. [i, j]=f ind (A).
Łańcuch jest to tekst w postaci ciągu znaków, które ograniczono apostrofami. Łańcuch jest wektorem. Pojedynczy znak łańcucha jest to jeden element, wektora. Informacje dotyczące łańcuchów w MATLAB-ie można uzyskać poprzez polecenie >>help strings.
»s = 'Odkryj urok MATLAB-a'; size(s) ans =
1 20
Rozmiar wektora, który przechowuje łańcuch można określić za pomocą funkcji size (jak powyżej) lub length. Łańcuchy można ze sobą łączyć i tworzyć dłuższe napisy, np.:
Tab. 3.5 Funkcje konwersji łańcuchów i liczb
nazwa |
opis funkcji |
int2str num2str sprintf sscanf str2num |
konwersja liczby całkowitej w łańcuch konwersja liczby w łańcuch konwersja liczby w łańcuch o wybranym formacie konwersja łańcucha w liczbę o wybranym formacie konwersja łańcucha w liczbę |
Tab. 3.6 Funkcje działające na łańcuchach
Funkcje podstawowe | |
nazwa |
opis funkcji |
blanks |
generuje łańcuch spacji |
deblank |
usuwa spacje w łańcuchu |
eval |
wykonuje łańcuch jako wyrażenie lub polecenie MATLAB-a |
findstr |
znajduje jeden łańcuch w obrębie innego |
setstr |
przekształca wartości numeryczne w łańcuch |
str2mat |
z pojedynczych łańcuchów tworzy macierz |
strrep |
wyszukuje łańcuch i podmienia |
Funkcje do porównywania łańcuchów | |
lower |
zamiana liter na małe |
stremp |
porównuje łańcuchy |
upper |
zamiana liter na duże |
»s = [ s, ’ z nami ’]
s =
Odkryj urok MATLAB-a z nami
Możliwa jest konwersja łańcuchów na wartości numeryczne i na odwrót. Przekształcenie takie wykonuje się za pomocą funkcji z tabeli 3.5. W tabeli 3.6 zamieszczono wybrane funkcje, których argumenty są łańcuchami.
Szczególną rolę pełni funkcja eval. Powoduje ona, że łańcuch jest wykonywany jako wyrażenie lub polecenie MATLAB-a.
»st = '180/pi’ , eval(st) st =
180/pi