Taki obszar nazywamy lokalną przestrzenią roboczą funkcji. Każda funkcja posiada własną lokalną przestrzeń roboczą.
Mechanizmy gospodarowania pamięcią zastosowane w systemie MATLAB powodują że:
- nie ma potrzeby wypisywania, czy też deklarowania zmiennych; jednak zanim jednej zmiennej przypisywana jest wartość innej zmiennej, należy się upewnić, że zmienna po prawej stronic wyrażenia przypisania posiada wartość;
- każda operacja, podczas której przypisywana jest zmiennej pewna wartość, nowodujc stworzenie tej zmiennej, jeśli to konieczne, lub też wymazanie jej starej wartości w przypadku, gdy zmienna ta już istnieje.
W języku MATLAB argumenty funkcji przekazywane są przez wartość i przez odniesienie. Przez wartość przekazywane są jedynie te argumenty, które ulegają zmianie na skutek działania funkcji. Jeśli funkcja nie wpływa w żaden sposób na argument, ale wykorzystuje go podczas obliczeń, dany argument przekazywany jest przez odniesienie, w celu optymalizacji ilości używanej pamięci.
Podczas pracy z wykorzystaniem MATLAB-a, mamy dostęp jedynie do tych zmiennych, które zostały wywołane wraz z funkcją lub znajdują się w przestrzeni roboczej. Zmienne przekazywane do funkcji muszą być wywołane, a funkcja podaje wartości wynikowe umieszczając je w przestrzeni roboczej. Można jednak zdefiniować zmienną jako globalną, co umożliwi dostęp do niej z więcej niż jednej własnej przestrzeni roboczej.
Dla oznaczenia, że zmienna jest globalna wykorzystuje się polecenie global. .jdy funkcja i przestrzeń robocza MATLAB-a deklarują pewną nazwę zmiennej jako globalną, zmienna ta może być używana przez wszystkie mne funkcje jako lokalna bez dodatkowych deklaracji w tych funkcjach.
Aby aplikacje MATLAB-a współpracowały ze zmiennymi globalnymi musimy:
- Deklarować daną zmienną jako globalną w każdej funkcji, która ma mieć do niej dostęp (aby zapewnić dostęp do zmiennej globalnej z przestrzeni roboczej, musimy ją także zdeklarować jako globalną z linii poleceń);
- W każdej funkcji, umieścić instrukcję global przed pierwszym pojawieniem się nazwy zmiennej (zalecanym miejscem jest początek M-pliku).
Na przykład można utworzyć M-plik o nazwie falling .m: function h = falling(t) global GRAVITY h = GRAVITY*t.*2 ;
następnie w oknie poleceń wprowadzić instrukcje: global GRAVITY GRAVITY = 9.81 y = falling((0: .1:5));
Dwie pierwsze instrukcje czynią wartość przypisaną zmiennej GRAVITY dostępną wewnątrz funkcji bez przekazywania jej wśród zmiennych wejściowych.
54