Uniwersytet Warmińsko – Mazurski
Wydział Nauk Technicznych
Katedra Elektrotechniki i Energtyki
Instrukcje pomocnicze do laboratorium z przedmiotu „Podstawy automatyki”
BADANIE UKŁADÓW LINIOWYCH DYNAMICZNYCH W DZIEDZINIE CZĘSTOTLIWOŚCI. CĘŚĆ II.
Instrukcje języka SCILAB:
- instrukcje warunkowe,
Składnia:
if expr1 then statements
elseif expri then statements
....
else statements
end
Opis:
if – jest instrukcją warunkową (ang. jeżeli). Instrukcja ta sprawdza wyrażenie logiczne (expr1) jeżeli wyrażenie logiczne jest prawdziwe wtedy wykonywana są instrukcje (statements) występujące po słowie kluczowym then (ang. wtedy), w przeciwnym wypadku tzn. gdy wyrażenie logiczne (expr1) jest fałszem wtedy sprawdzane jest wyrażenie warunkowe (expri). Jeżeli jest ono prawdą wykonywane są instrukcje (statements) po słowie kluczowym then jeśli jest fałszem to są wykonywane instrukcje po słowie kluczowym else (ang. w przeciwnym razie). Całość kończymy słowem kluczowym end (ang. koniec)
Przykład:
i=2
for j = 1:3,
if i == j then
a(i,j) = 2;
elseif abs(i-j) == 1 then
a(i,j) = -1;
else a(i,j) = 0;
end,
- instrukcje iteracyjne,
instrukcja for
for variable=expression ,
instruction, ,
instruction,
for variable=n1:step:n2, ...,end
Instrukcja for (ang. od) jest instrukcją iteracyjną (pętlą) wykonywaną od n1 do n2 razy z krokiem step opcjonalnie.
n=5;
for i = 1:n,
for j = 1:n,
a(i,j) = 1/(i+j-1);
end;
instrukcja while
while expr ,instructions,...[,else instructions], end
while expr do instructions,...[,else instructions], end
while expr then instructions,...[,else instructions], end Notes:
while – jest to instrukcja iteracyjna (pętla) wykonywana dopóki wyrażenie warunkowe expr jest prawdziwe. Dodatkowo wystąpienie (opcjonalnie) słowa kluczowego else powoduje, że w przypadku gdy wyrażenie warunkowe expr jest fałszywe to zostanie wykonana instrukcja po słowie kluczowym else.
while a<>b then
c=a+b;
- instrukcje wyboru,
instrukcja select
select expr,
case expr1 then instructions1,
case expr2 then instructions2,
...
case exprn then instructionsn,
[else instructions],
Instrukcja select jest instrukcją wyboru za pomocą której można wybrać grupę instrukcji do wykonania w zależności od wartości jaką aktualnie posiada zmienna występująca po słowie kluczowym select. W przypadku gdy wartość zmiennej nie odpowiada żadnej z wartości występującej po słowie kluczowym case są wykonywana instrukcje występujące po słowie kluczowym else.
while %t do
n=input(„podaj liczbę”)
select n
case 0 then
disp(0)
case 1 then
disp(1)
else
break
- instrukcje pomocnicze,
instrukcja break
Instrukcja break powoduje wyjście z pętli po zajściu zdarzenia zdefiniowanego w pętli (patrz przykład)
k=0;
while 1==1,
k=k+1;
if k > 100 then
break,
Funkcje języka SCILAB pomocne do wykonania ćwiczenia:
Funkcja input()
Wywołanie funkcji:
[x]=input(message,["string"])
Funkcja ta pozwala wprowadzić łańcuch lub liczbę do aktualnie wykonywanego pliku funkcyjnego lub skryptowego z rozszerzeniem *.sci. Jeżeli wprowadzamy liczbę wtedy drugi argument funkcji jest niepotrzebny ("string"). Natomiast gdy chcemy wprowadzić łańcuch znakowy lub znak jako drugi parametr musimy poinformować o tym wywoływaną funkcje wprowadzając „string”
x=input("How many iterations?") //pobiera liczbę i przypisuje zmiennej x
x=input("What is your name?","string") //pobiera znak lub łańcuch znaków i przypisuje zmiennej x
Funkcja disp() wywołana z pliku funkcyjnego wyświetla w oknie SCILAB tekst lub zmienne, aby wyświetlić tekst wywołujemy w następujący sposób: disp(‘próba funkcji disp’)
1. Dla podanych transmitancji podstawowych członów dynamicznych zawartych w tabeli 1.1, określić współczynniki wzmocnienia – K, oraz stałą czasową – T. Następnie wykreślić charakterystyki Nyquista i Bode poszczególnych członów oraz zbadać jaki wpływ na przebieg charakterystyki ma zmiana stałych transmitancji.
Tabela 1.1
K
T1
T2
10
4
-
Człon inercyjny
II rzędu
100
2
Człon różniczkujący rzeczywisty
mariusz_WNT