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