20121113 MATLAB 4a skrypty

background image

1. Tworzenie skryptów

Skrypt Matlaba jest to plik tekstowy posiadający rozszerzenie *.m (M – plik), zawierający komendy
Matlaba. Skrypt uruchamia się wpisując jego nazwę (bez kropki i rozszerzenia) w linii poleceń (i
naciskając Enter).
Skrypty tworzymy używając wbudowanego edytora programu Matlab. Edytor uruchamiamy wpisując
polecenie edit w linii poleceń, lub wskazując myszą (przy aktywnym oknie Current directory) menu
File | New | M-File

Spowoduje to otwarcie pustego okna edytora. W oknie tym wpisujemy kolejne komendy Matlaba. Po
uruchomieniu skryptu wszystkie zawarte w nim polecenia zostaną kolejno wykonane.

Skrypt zapisujemy wskazując myszą menu File | Save As. Spowoduje to otwarcie okna
umożliwiającego wybór katalogu, w którym zapiszemy skrypt oraz podanie nazwy skryptu.
(Rozszerzenie *.m zostanie automatycznie dopisane przez Matlaba).

Po zapisaniu plik skryptu będzie widoczny w oknie Current directory.

Skrypty w czasie pracy korzystają ze zmiennych istniejących w przestrzeni roboczej Matlaba
(workspace). Również zmienne utworzone w czasie wykonywania skryptu widoczne są w oknie
Workspace.

2. Wybrane polecenia używane w skryptach

W skryptach używamy poleceń Matlaba w sposób identyczny jak w oknie poleceń. Istnieją jednak
polecenia używane przeważnie w skryptach.

%

-

komentarz

input

-

umożliwia wprowadzanie danych w czasie działania skryptu.

Składnia:

1.

A=input('Tekst zachęty: ')

Umożliwia wprowadzenie danych liczbowych i przypisanie ich do zmiennej A

2.

B=input('Tekst zachęty: ','s')

Umożliwia wprowadzenie danych tekstowych i przypisanie ich do zmiennej B

Przykład 1

>> A=input('Podaj liczbę: ')
-----------------------------
Podaj liczbę: 10

%Matlab wyswietlił tekst podany w nawiasie i czeka aż
%wprowadzimy liczbę i naciśniemy Enter. Podana przez
%nas liczba zostanie przypisana do zmiennej A

A =
10

Przykład 2

>> B=input('Podaj tekst: ','s')
-----------------------------
Podaj tekst: kura

%Matlab wyswietlił tekst podany w nawiasie i czeka aż
%wprowadzimy teksti naciśniemy Enter. Podany przez
%nas tekst zostanie przypisany do zmiennej B

B =
kura

disp

-

wyświetla zawartość zmiennych lub tekstów użytych
jako argument

Składnia:
disp(argument)

Przykład:

>> disp('Dzień dobry')
-----------------------
Dzień dobry

>> disp(1+2)

-----------------------

3

Instrukcja if – else

-instrukcja warunkowa. Umożliwia wykonanie dwóch
różnych zestawów poleceń w zależności od spełnienia (bądź
nie) warunku logicznego.

Składnia:

if(warunek)

polecenie1

else

polecenie2

end

Jeżeli wartość logiczna warunku = PRAWDA, wykonane zostaną wszystkie polecenia aż do słowa
kluczowego else (u nas: polecenie1). W przeciwnym wypadku zostaną wykonane polecenia od
słowa else aż do instrukcji end (u nas: polecenie2).
UWAGA
Instrukcja if może występować w formie skróconej (bez klauzuli else):

if(warunek)

polecenie1

end

Wówczas spełnienie warunku logicznego (wartość logiczna: PRAWDA) powoduje wykonanie wszystkich
poleceń aż do słowa end (u nas: polecenie1). W przeciwnym wypadku nie zostanie podjęte żadne
działanie.

Przykład 1

a=10;

if

(a<5)

disp(

'A jest mniejsze od 5'

);

else

disp(

'A jest nie mniejsze od 5'

);

end

--------------------------------------------
A jest nie mniejsze od 5

Proszę zastąpić w powyższym skrypcie instrukcję a=10 instrukcją a=input('Podaj liczbe:') i wypróbować
działanie instrukcji if – else dla różnych wartości zmiennej a.

Przykład 2

OK=

'QQ'

;

if

(~(OK==

't'

))

disp(

'KONIEC'

);

end

--------------------------------------------
KONIEC

Proszę zwrócić uwagę na negację zawartą w warunku: nieprawda, że OK jest równe 't'.

Pętla for

-

(pętla wyliczana, pętla iteracyjna) umożliwia wykonanie
polecenia lub grupy poleceń określoną ilość razy (iteracji
).

Składnia:

a.)

for

i1=1:10

x1(i1)=i1;

end

disp(

'x1='

),disp(x1);

------------------------------------------------------------
x1=

1 2 3 4 5 6 7 8 9 10

W powyższym przykładzie dla każdej wartości zmiennej i1 sterującej pętlą na odpowiedniej pozycji
wektora x1 zapisywana jest wartość zmiennej i1. W wyniku działania pętli otrzymaliśmy zatem wektor
x1 zawierający liczby od 1 do 10. Ponieważ kolejne wartości zmiennej i1 zmieniały się o 1, użyliśmy
składni i1=1:10, deklarując jedynie początek (i1=1) i koniec (i1=10) dozwolonego zakresu liczb,
pomijając zaś krok, czyli wartość, o jaką zmienia się zmienna i1 w kolejnych iteracjach.

b.)

for

i2=1:2:9

x2(i2)=i2;

end

disp(

'x2='

),disp(x2);

------------------------------------------------------

x2=
1 0 3 0 5 0 7 0 9

Zmienna i2 sterująca pętlą w przykładzie b.) zmienia się o 2 w każdej kolejnej iteracji. Użyliśmy zatem
składni i2=1:2:9, deklarując początek (i2=1), krok (2) i koniec (i2=9) dozwolonego zakresu liczb.
Należy zauważyć, że otrzymany wektor x2 zawiera kolejne wartości i2 na pozycjach 1, 3, 5, 7, 9.
Elementy wektora x2 o indeksach 2, 4, 6, 8 (zmienna x2 nie przyjęła takich wartości) są równe zero.


Wyszukiwarka

Podobne podstrony:
20121113 MATLAB 3c ZapisywanieDanychNaDysk
20121113 MATLAB 3b konkatenacja
20121113 MATLAB 4b funkcje
matlab skrypty
Rozdzia- 4a, Geodezja i Kartografia, III rok, Geodezja inżynieryjna, skrypt Kopiejewskiego
MATLAB cw 12 14 Skrypty
ti 2 funkcje i skrypty, matlab
Podstawy programowania w Matlabie skrypt
wyklad 4a
Matlab cw1 2 zaoczni
4a
06 pamięć proceduralna schematy, skrypty, ramyid 6150 ppt
cz 1, Matlab moj
Image Processing with Matlab 33
4a Ideologia

więcej podobnych podstron