Polecenia mogą posiadać operandy wypisywane jako nazwy plików load Augustl7.dat help magie type rank
lub operandy te mogą być dołączane jako łańcuchy argumentów funkcji load ('Augustl7.dat') help ('magie 1) type ('rank’)
Jest to „dualizm polecenia/funkcji” systemu MATLAB. Dowolne polecenie w formie command argument może być napisane w formie funkcyjnej command ('argument')
Zaleta podejścia funkcyjnego ujawnia się, gdy argument ciągu jest złożony z innych części. W następującym przykładzie obróbce podlegają pliki danych złożonych Augustl. dat, August2 . dat i tak dalej, for d = 1:31
s = ['August'int2str(d)dat'] load(s)
% Process the contents of the d-th file
end
MATLAB wykorzystuje funkcję int2str, która konwertuje liczbę całkowitą na ciąg znaków, aby zbudować nazwę pliku.
Dualizm dotyczy funkcji sterujących czynnościami wyświetlania, zapisywania, odczytywania itp. Dla wykonywania funkcji o nazwie określonej łańcuchem wykorzystuje się funkcję eval. Funkcja ta pracuje ze zmiennymi tekstowymi i wykorzystuje wewnętrzny analizator tekstów makr. Wyrażenie lub instrukcja eval(s)
wykorzystuje interpreter MATLAB-a do obliczenia wyrażenia lub wykonania instrukcji o nazwie zawartej w łańcuchu tekstowym s.
Poprzedni przykład może być także wykonany z następującym kodem, chociaż jest to mniej wydajne ponieważ włącza cały interpreter, a nie tylko wywołanie funkcji.
for d = 1:31
s = ['load August’ int2str(d) '.dat'] eval(s)
% Process the contents of the d-th file
end
Dualizm polcccnie/funkcja pozwala na łatwe wyznaczanie funkcji funkcji, w których w wywołaniu funkcji nadrzędnej argumentem jest nazwa funkcji podrzędnej zapisana w łańcuchu znaków. Klasa funkcji MATLAB-a o nazwie „funkcje funkcji”
59