67304 Wprowadzenie do MatLab (54)

67304 Wprowadzenie do MatLab (54)



-    ustawianie zmiennych jako równoważnych macierzy pustej [ ] w celu zwolnienia pamięci, lub też usuwanie ich poprzez użycie instrukcji;

-    elear variable_name;

-    wielokrotne używanie zmiennych, tak często, jak to jest możliwe.

MATLAB posiada następujące funkcje obsługujące pamięci:

-    elear usuwa zmienne z pamięci;

-    pack zachowuje istniejące zmienne na dysku, po czym ładuje je w sposób ciągły (ze względu na czasochłonność takich operacji nic powinno się używać instrukcji pack wewnątrz pętli lub M-plików-funkcji);

-    save wybiórczo zachowuje zmienne na dysku;

-    load ładuje do pamięci plik zawierający dane zachowany za pomocą komendy save.

Pamięć systemu jest zajmowana przez funkcje. Kod M-pliku-funkcji oraz relo-kowalny kod MEX-pliku są ładowane do pamięci, gdy wywoływana jest odpowiadająca im funkcja. Kod M-pliku lub kod MEX-pliku są usuwane z pamięci, gdy:

-    dana funkcja zostanie wywołana powtórnie, a istnieje nowa jej wersja, dana funkcja zostanie jawnie usunięta za pomocą polecenia elear.

-    wszystkie funkcje zostaną jawnie usunięte za pomocą instrukcji elear f unctions.

MATLAB-owi zabraknie wolnej pamięci.

4.4. Zasady tworzenia efektywnych programów w MATLAB-ie

Dla otrzymania możliwie jak największej szybkości M ATL AB- i konieczna jest wektoryzacja algorytmów w M-plikach. Tam gdzie inne języki programowania mogą używać pętli for lub do, w MATLAB-ic można używać operacji na wektorach lub macierzach. Dla przykładu tworzona jest tabela w sposób tradycyjny:

x = 0;

for k = 1:1001 y(k) = cos(x) ; x = x + .01;

end

W MATLAB-ic zadanie to może być zrealizowane przez polecenia:

x = 0:0.01:10;

y = cos(x)

W bardziej skomplikowanych algorytmach opcje wektoryzacji me zawsze są oczywiste i proste w realizacji. Gdy ważna jest szybkość obliczeń, zaw sze należy szukać sposobu na wektoryzację algorytmów'. Jeśli nie można wektoryzować części kodu. można przyspieszyć pętle for, wstępnie przypisując pamięć dowolnym wektorom lub tablicom, w których są przechowywane wyniki. Na przy kład poniż-

56


Wyszukiwarka

Podobne podstrony:
Wprowadzenie do MatLab (99) 8. FUNKCJEZE ZMIENNĄ LICZBĄ ARGUMENTÓW W SYSTEMIE MATU AB Zasady budowy
70408 Wprowadzenie do MatLab (72) Przy wykorzystaniu k jako indeksu po lewej stronie polecenia przyp
Wprowadzenie do MatLab (99) 8. FUNKCJEZE ZMIENNĄ LICZBĄ ARGUMENTÓW W SYSTEMIE MATU AB Zasady budowy
Wprowadzenie do MatLab (88) Funkcja struct umożliwia zdefiniowanie macierzy struktury. Jej forma pod
Wprowadzenie do MatLab (100) Zmienna s, wykorzystywana wewnątrz funkcji w funkcji, jak również zmien
Wprowadzenie do MatLab (30) Zmienna ta przyjmuje wartość domyślną, gdy użytkownik nie wprowadzi! jej
Wprowadzenie do MatLab (53) Zmienną GRAVITY można zmieniać w poleceniach i otrzymać nowe rozwiązania

więcej podobnych podstron