Wprowadzenie do MatLab (52)

Wprowadzenie do MatLab (52)



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


Wyszukiwarka

Podobne podstrony:
19013 Wprowadzenie do MatLab (113) figurę tworzy obiekty rysunkowe i tak dalej. Funkcje graficzne MA
19580 Wprowadzenie do MatLab (51) 4. Sprawdzenie czy dana nazwa oznacza jedną z funkcji, której M-pl
Wprowadzenie do MatLab (97) rowanic binarne lub heksadccymalne. Na przykład funkcja dec2hex zamienia
21647 Wprowadzenie do MatLab (108) Dla naszego próbnego wielomianu, double(p) daje taki wynik&n
11388 Wprowadzenie do MatLab (29) 3    -99    0.0001 9.6397238
12271 Wprowadzenie do MatLab (2) SPIS TREŚCI PRZEDMOWA
22326 Wprowadzenie do MatLab (26) spowoduje utworzenie i wyświetlenie odpowiedzi systemu wektora t =
Wprowadzenie do MatLab (100) Zmienna s, wykorzystywana wewnątrz funkcji w funkcji, jak również zmien
Wprowadzenie do MatLab (106) katalogu bez przedrostka Konstruktor tworzy obiekty przez zainicjowanie

więcej podobnych podstron