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.