46 47

46 47



46 4 ELEMENTY JĘZYKA MATLAB

vname = eval([fname,int2str(i)]); feval(’disp’,vname), disp(’ ') end

Wywołanie M-pliku ldane.m powoduje wprowadzenie do przestrzeni roboczej zmiennych leql i leq2, którym przypisuje się macierze przechowywane w plikach leql.dat, leq2.dat. Rezultat działania M-pliku ldane.m podano poniżej:

plików

z

danymi

? 2

20

3

2

1

18

2

25

1

1

-23

3

1

40

1

41

1

1

2

25

-23

9

3

3

5

4

4

11

1

6

-11

5

1

6

3

7

2

4

2

8

-8

4.2.2 Definicja procedur i funkcji czyli M-pliki funkcyjne

M-pliki funkcyjne (ang.function file) zawierają procedury i funkcje tworzone przez użytkownika. Działają one na zmiennych lokalnych i komunikują się z przestrzenią roboczą poprzez parametry formalne.

M-pliki funkcyjne muszą rozpoczynać się od słowa kluczowego function. Muszą zawierać również nazwę funkcji i nawiasy okrągłe obejmujące listę argumentów wejściowych. Pierwsza linia M-pliku funkcyjnego powinna być zapisana następująco:

function [lista argumentów wyjściowych] = nazwaJunkcji (lista argumentów wejściowych)

Zwraca się uwagę, że nazwa funkcji musi być taka sama jak nazwa M-pliku (bez rozszerzenia), w którym tą funkcję zapisano. Argumenty wejściowe i wyjściowe na listach, oddziela się przecinkami. Funkcja może nic mieć żadnych argumentów (ani wejściowych ani wyjściowych). Wtedy nawiasy okrągłe obejmują listę pustą.

Jeśli, na przykład, polecenia zawarte w pliku skryptowym ldane.m zapiszemy jako funkcję bczparametrową o nazwie ldanef to zawartość pliku ldanef .m będzie następująca:

łurn i łon ldanef ( )

fimme ’leq’; n = inputOlle plików z danymi ? ’); for i * 1 :n

«w<il,(C’10ftd ',fname, int2str(i), ’ .dat ’] ) vn >mo *>val( [fname ,int2str(i)] ) ; i - < I (*«I iop’,vname), disp(’ '), end

l nul « |n ldanef może być użyta jedynie do kontroli wprowadzania danych

*    plilfw o nazwie leq, poprzez wypisanie ich zawartości na ekranie. W ■ -li..'tu. mu od pliku ldane.m. funkcja ldanef nie wprowadza zmiennych ||ii pi /i 11 żeni roboczej MATLAB-a.

Ai i.iimenty wejściowe i wyjściowe oraz wszystkie zmienne używane we-n im11 limkcji mają. charakter lokalny. Oznacza to, że nie posiadają one iMdim li powiązań ze zmiennymi z przestrzeni roboczej, nawet jeżeli ich na-mo t nlmtyczne. Zasada ta nie dotyczy następujących przypadków:

•    gdy zmienne lokalne są definiowane za pomaca nazw wartości specjalnych (tabela 2.2),

•    gdy zmienne są zadeklarowane jako globalne za pomocą polecenia global.

Wartości zmiennych wyspecyfikowanych po poleceniu global są 'widziane zarówno w przestrzeni roboczej jak i wewnątrz wywoływanej funkcji. Ji-.l to źródłem wielu błędów wykonania trudnych do wykrycia. Ponadto, u i/rlkie modyfikacje lub stosowanie w innych programach algorytmów pisanych z wykorzystaniem takich zmiennych jest bardzo trudne. Dlatego zaleca n; zrezygnowanie z używania zmiennych globalnych, a co najmniej znaczne

•    •graniczenie ich ilości.

Poniżej zamieszczono przykład M-pliku funkcyjnego, w którym zapi-auo algorytm rozwiązywania układu algebraicznych równań liniowych w postaci A * x = b. Przy czym: A jest macierzą współczynników układu równań, b reprezentuje wektor wyrazów wolnych, x to szukany wektor rozwiązań. Istnieje wiele metod rozwiązywania tego typu układów równań. Jedna z bardziej efektywnych polega na poszukiwaniu takich macierzy L i U, że A = L*U. Macierz L nie musi być trójkątna ??.

W MATLAB-ie rozkład macierzy A na iloczyn L*U wykonuje funkcja lu (tabela 3.4). Algorytm realizujący powyższą metodę rozwiązywania układu równań liniowych zapisano w M-pliku funkcyjnym leqlu.m. Jego zawartość jest następująca:


Wyszukiwarka

Podobne podstrony:
42 43 42 4 ELEMENTY JĘZYKA MATLAB Tab. 4.1 Słowa kluczowe w MATLAB-ie nazwa opis słów
44 45 44 4 ELEMENTY JĘZYKA MATLAB Instrukcja for jest umywana bardzo często do generowania wektorów
48 49 48 4 ELEMENTY JĘZYKA MATLAB function x = leqlu(A,b)    ’/,metoda z rozkładem LU
46 47 KRÓTKA GRAMATYKA JĘZYKA NORWESKIEGO 3. Przetłumacz zdania lub uzupełnij brakujące wyrazy. 1. V
46 47 KRÓTKA GRAMATYKA JĘZYKA NORWESKIEGO 3. Przetłumacz zdania lub uzupełnij brakujące wyrazy. 1. V
46 47 KRÓTKA GRAMATYKA JĘZYKA NORWESKIEGO 3. Przetłumacz zdania lub uzupełnij brakujące wyrazy. 1. V
16 46 3. Elementy ściskane osiowo Przykład 3.4 Sprawdzić nośność ściskanego pasa wiązara dachowego,
HPIM4063 46 3. Elementy ściskane osiowo Przykład 3.4 Sprawdzić nośność ściskanego pasa wiązara dacho
Z. Rudnicki: MATLAB - KOMPENDIUM Omawianie zaczniemy od najprostszych elementów języka aby stopniowo
97 (46) B. Elementy statystyki a)    Ile średnio godzin w tygodniu spędza uczeń badan
16 46 3. Elementy ściskane osiowo Przykład 3.4 Sprawdzić nośność ściskanego pasa wiązara dachowego,
DSC46 I. Powrót języka Wraz z literaturą, wraz z powrotem egzegezy i troski o formalizację, wraz
Obraz3 (46) Elementy sterowania 2 = bieg 3 Wybierz położenie 2, aby hamowad silnikiem przy dłuższyc

więcej podobnych podstron