Wydział Elektrotechniki i Automatyki
Transkrypt
Wydział Elektrotechniki i Automatyki
Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania Teoria sterowania MATLAB – instrukcje warunkowe, logiczne, pętle Pytania i zadania do ćwiczeń laboratoryjnych 1 – Część 5 Opracowanie: Michał Grochowski, dr inż. Robert Piotrowski, dr inż. Gdańsk Pytania 1. 2. 3. 4. 5. 6. Jakie są podstawowe instrukcje środowiska MATLAB ? Do czego służą i jaka mają składnie instrukcje for i while ? Jaka jest różnica między instrukcjami for i while ? W jaki sposób używa się instrukcji warunkowej if ? Do czego służy instrukcja switch ? Jaka jest różnica między instrukcjami break i return ? Wszystkie zadania wykonaj w środowisku MATLAB pisząc m-pliki. Zadanie 1 [1 pkt] Napisz m-plik, którego wynikiem będzie: a) wyświetlanie na ekranie kolejnych liczb z zakresu: 10 – 22, b) wyświetlanie na ekranie co trzeciej liczby z zakresu: 10 – 22. Zadanie 2 [1 pkt] Napisz m-plik, obliczający silnię z zadanej liczby. Liczba powinna być wprowadzana przez użytkownika. Zadanie 3 [1 pkt] Przepisz następujące dwa m-pliki i dokonaj ich szczegółowej analizy: clc, clear suma = 0; tic for n = 1:1000000 suma = suma + n; end disp(['suma= ',num2str(suma)]); toc % ********************* suma = 0; tic n = 1:1000000; suma = sum( n ); disp(['suma= ',num2str(suma)]) toc Odpowiedz na pytania: 2 a) Jaką funkcję obliczają oba pliki? b) Czym się one różnią w zapisie? c) Czy dają te same rezultaty obliczeń? Zadanie 4 [3 pkt] Napisz m-plik obliczający pierwiastki równania kwadratowego . Program powinien: umożliwiać wprowadzanie przez użytkownika parametrów równania: a, b, c, wyświetlać wartości delty oraz pierwiastków, wyświetlać informacje typu: „Równanie posiada jedno rozwiązanie”, itp. w zależności od wartości delty, rysować wykres funkcji. Zadanie 5 [2 pkt] Napisz m-plik generujący liczby losowe z zakresu 0-1. Program powinien dodatkowo: wyświetlać komunikat: „liczba jest w przybliżeniu równa 1” w przypadku, gdy wylosowana liczba będzie większa niż 0.5, wyświetlać komunikat: „liczba jest w przybliżeniu równa 0” w przypadku, gdy wylosowana liczba będzie mniejsza niż 0.5, Następnie zmodyfikuj program tak, aby generował liczby losowe i wyświetlał powyższe komunikaty 20 razy. Zadanie 6 [2 pkt] Przepisz następujący m-plik i dokonaj jego szczegółowej analizy: clc; clear; liczba = floor(3*rand)+1; switch liczba case 1 disp( 'To jest liczba 1'); disp([num2str(liczba),' - to jest liczba 1']); case 2 disp([num2str(liczba),' - to jest liczba 2']); otherwise disp([num2str(liczba),' - to jest liczba 3']); end 3