10 skrypty


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ądz
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.
Zadania
Algorytmy
Pętla wyliczana (iteracyjna)  FOR.
W każdej iteracji do I-tego elementu wektora
I=1:10
A przypisywana jest wartość zmiennej I.
Po zakończeniu pętli wektor
A=[1 2 3 4 5 6 7 8 9 10].
A(I)=I
Logiczny blok decyzyjny (IF). Ponieważ
A=3
A=3, jest zatem mniejsza od 4. Wykonany
więc zostanie blok instrukcji Q.
A<4
Q TAK
NIE
AAA
Zadanie 1
Dany jest wektor x=[0:pi/10:2*pi]. Utwórz wektor y równy iloczynowi funkcji ex i sin(x) oraz narysuj wykres
zależności x,y. Wykres powinien być narysowany czerwoną linią ciągłą, zaś punkty zaznaczone gwiazdką.
Zadanie 2
Dany jest wektor x=[0:pi/50:2*pi]. Wyodrębnij pierwsze 15 elementów wektora x i wyświetl jako wektor
kolumnowy.
Zadanie 3
Dana jest zmienna a=5. Podczas działania pętli iteracyjnej (i =1:a) tworzony jest wektor x. Wartość zmiennej i
zapisywana jest na kolejnych pozycjach wektora x. Ile wynosi suma liczb tworzących wektor x po zakończeniu
pętli?
Zadanie 6
Dana jest zmienna a=7. Podczas działania pętli iteracyjnej (i =1:a) tworzony jest wektor x. Wartość zmiennej i
zapisywana jest na kolejnych pozycjach wektora x, o ile podwojona wartość i jest mniejsza od 12. Ile wynosi
suma liczb tworzących wektor x po zakończeniu pętli?
Zadanie 7
Dany jest fragment algorytmu:
I=1:10
A(I)=2*I - 3
Ile wynosi połowa sumy liczb tworzących wektor A?
(Zapisz algorytm w postaci skryptu Matlaba).
Zadanie 8
Dany jest fragment algorytmu:
A=5
A<4
TAK
skrypt1.m
NIE
skrypt2.m
Który skrypt zostanie wykonany po wykonaniu powyższego bloku decyzyjnego?
(Zapisz algorytm w postaci skryptu Matlaba).
Zadanie 9
Dane są wektory: x=[1 2 3 4 5] i y=[5 4 3 2 1]. Który operator (* czy .*) umożliwi obliczenie iloczynu tych
wektorów? Ile wyniesie iloczyn?
Zadanie 13
2
sin( t )
Dany jest wektor t=[1:0.1:10]. Oblicz wektor z = . Narysuj wykres zależności t,z . Wykres ma być
2
t
rysowany zieloną linią kropkowaną. Umieść na wykresie opisy osi, tytuł i siatkę.
Zadanie 14
t
Dany jest wektor t=[1:0.1:10]. Oblicz wektor z równy iloczynowi logarytmu naturalnego z t oraz funkcji .
e
Wyodrębnij pierwsze 30 elementów każdego wektora i narysuj wykres zależności między nimi. Umieść na
wykresie opisy osi tytuł, legendę.


Wyszukiwarka

Podobne podstrony:
2006 10 Skrypty powłoki w systemie Linux [Poczatkujacy]
FR M2 10 skrypt
Sieci neuronowe Skrypt rozdzial 10
10 ETYKA FILOZOFICZNA SKRYPT TEDEUSZ BIESAGA
BIOCHEMIA skrypt 10
Prawo międzynarodowe J Połatyńska skrypt 10
2012 Skrypt cwiczenia 10 2012id 720
8 37 Skrypty w Visual Studio (2)
WSM 10 52 pl(1)
VA US Top 40 Singles Chart 2015 10 10 Debuts Top 100

więcej podobnych podstron