Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- >> F=[1 1; 4 -2]
- F =
- 1 1
- 4 -2
- >> G=[1 -1;1 -1];
- >> H = eye(2)
- H =
- 1 0
- 0 1
- >> D = 0;
- >> %slaganje matrica
- >> %generise matricu upravljivosti
- >> Co = ctrb(F,G)
- Co =
- 1 -1 2 -2
- 1 -1 2 -2
- >> %da li je matrica istog reda kao i matrica F
- >> length(F)==rank(Co)
- ans =
- logical
- 0
- >> %Nije isti rang matrice upravljivosti stoga...
- >> %ako je 0 onda je upravljivo, ako nije nula onda nije upravljivo
- >> %osmotrivost
- >> Ob = obsv(F,H)
- Ob =
- 1 0
- 0 1
- 1 1
- 4 -2
- >> %da li je sistem osmotriv
- >> rank(Ob) == length(F)
- ans =
- logical
- 1
- >> %ako je jedan onda je osmotrivo, ako je nula onda nije osmotrivo
- >> %ZA UPRAVLJIVOST AKO JE NULA NIJE UPRAVLJIV AKO JE JEDAN ONDA JESTE UPRAVLJIV
- >> kriterijum = length(F) - rank(Ob)
- kriterijum =
- 0
- >> %tf(num,den) generise prenosnu funkciju, ss(F,G,H,D) generise sistem u prostoru stanja.
- >> %Y(s)=G(s)u(s) ima jedan ulaz i jedan izlaz
- >> %Ako je vektor vrste/kolone kod u, ima vise ulaza
- >> %Ako ima vise ulaza onda je vektor kolone
- >> %ako ima vise izlaza onda je vektor kolone
- >> %Ako ima vise ulaza onda je vektor vrste
- >> %poslednja dva komentara su tacna
- >> num1 = [2 0]
- num1 =
- 2 0
- >> den1 = [4 1]
- den1 =
- 4 1
- >> num2=3
- num2 =
- 3
- >> den2=[5 1]
- den2 =
- 5 1
- >> % tri kroz 5s + 1
- >> Gs1=tf(num1,den1)
- Gs1 =
- 2 s
- -------
- 4 s + 1
- Continuous-time transfer function.
- >> Gs2=tf(num2,den2)
- Gs2 =
- 3
- -------
- 5 s + 1
- Continuous-time transfer function.
- >> Gs = [Gs1 Gs2]
- Gs =
- From input 1 to output:
- 2 s
- -------
- 4 s + 1
- From input 2 to output:
- 3
- -------
- 5 s + 1
- Continuous-time transfer function.
- >> %Nemam pojma sta se ovde desilo, ali dobro
- >> num3[1 1]
- num3[1 1]
- ↑
- Error: Unbalanced or unexpected parenthesis or bracket.
- >> num3 = [1 1]
- num3 =
- 1 1
- >> den3 = [1 2 2]
- den3 =
- 1 2 2
- >> num4 = 1
- num4 =
- 1
- >> den4 = [1 0]
- den4 =
- 1 0
- >> Gs3 = tf(num3,den3)
- Gs3 =
- s + 1
- -------------
- s^2 + 2 s + 2
- Continuous-time transfer function.
- >> Gs4 = tf(num4,den4)
- Gs4 =
- 1
- -
- s
- Continuous-time transfer function.
- >> Gs5 = [Gs3;Gs4]
- Gs5 =
- From input to output...
- s + 1
- 1: -------------
- s^2 + 2 s + 2
- 1
- 2: -
- s
- Continuous-time transfer function.
- >> %tf(num,den,Ts) Ts je perioda odabiranja, mora da postoji kad generisemo funkciju u diskretnom vremenu
- >> num = [1 0.5]
- num =
- 1.0000 0.5000
- >> den = [1 1.5 2]
- den =
- 1.0000 1.5000 2.0000
- >> Gz = tf(num, den, 0.4)
- Gz =
- z + 0.5
- ---------------
- z^2 + 1.5 z + 2
- Sample time: 0.4 seconds
- Discrete-time transfer function.
- >> %tf(num,den) = Gs
- >> s = tf('s')
- s =
- s
- Continuous-time transfer function.
- >> Gs = (s+1)/(s^2 +2*s+2)
- Gs =
- s + 1
- -------------
- s^2 + 2 s + 2
- Continuous-time transfer function.
- >> %s = tf('s') moze da generise prenosnu funkciju. Drugi nacin
- >> %ss(F,G,H,D) Model u prostoru stanja (?)
- >> F1 = [0 1; -4 -2]
- F1 =
- 0 1
- -4 -2
- >> G1 = [ 0; -2]
- G1 =
- 0
- -2
- >> H = [1 0]
- H =
- 1 0
- >> D=0
- D =
- 0
- >> H1 = [1 0]
- H1 =
- 1 0
- >> D1 = 0
- D1 =
- 0
- >> ss1 = ss(F1,G1,H1,D1)
- ss1 =
- A =
- x1 x2
- x1 0 1
- x2 -4 -2
- B =
- u1
- x1 0
- x2 -2
- C =
- x1 x2
- y1 1 0
- D =
- u1
- y1 0
- Continuous-time state-space model.
- >> %matrica A = F1, B = G1, C = H1, D=D1
- >> ss1.B
- ans =
- 0
- -2
- >> %ss1.(A ili B ili C ili D) da pristupis matricama F G H D, jer je ss1 struktura
- >> %Cetvrti zadatak
- >> F = [-1 0; 0 -1]
- F =
- -1 0
- 0 -1
- >> G = [1;0]
- G =
- 1
- 0
- >> H=[1 0; 0 1]
- H =
- 1 0
- 0 1
- >> D = 0
- D =
- 0
- >> sys = ss(F,G,H,D)
- sys =
- A =
- x1 x2
- x1 -1 0
- x2 0 -1
- B =
- u1
- x1 1
- x2 0
- C =
- x1 x2
- y1 1 0
- y2 0 1
- D =
- u1
- y1 0
- y2 0
- Continuous-time state-space model.
- >> sys.b
- ans =
- 1
- 0
- >> %sys je takodje struktura pa se matricama pristupa sys.(neka matrica)
- >> %ss2tf(sys) iz prostora stanja u prenosnu funkciju, tf2ss(sys) iz prenosne funkcije u prostor stanja, tf2zp(sys) da se dobiju nule i polovi, ss2zp(sys) iz prostora stanja u nule i polove
- >> %c2d iz kontinualnog vremena u diskretno, d2c je obrnuto
- >> %size prikazuje broj ulaza i broj izlaza sistema
- >> %Zadatak broj 5
- >> F =[-2 -1];
- >> F= [-2 -1; 1 -2];
- >> G=[1 1; 2 -1];
- >> H = [1 0];
- >> D = [0 1];
- >> sys = ss2tf(F,G,H,D,1) %ima peti parametar, koji ulaz sa kojim izlazom (1,2) ovaj primer konkretno
- sys =
- 0 1 0
- >> sys = ss(F,G,H,D,1) % i ovde ima peti parametar
- sys =
- A =
- x1 x2
- x1 -2 -1
- x2 1 -2
- B =
- u1 u2
- x1 1 1
- x2 2 -1
- C =
- x1 x2
- y1 1 0
- D =
- u1 u2
- y1 0 1
- Sample time: 1 seconds
- Discrete-time state-space model.
- >> tf(sys)
- ans =
- From input 1 to output:
- z
- -------------
- z^2 + 4 z + 5
- From input 2 to output:
- z^2 + 5 z + 8
- -------------
- z^2 + 4 z + 5
- Sample time: 1 seconds
- Discrete-time transfer function.
- >> %ako hocemo objekat treba da uradimo tf od cega god
- >> %tf vraca objekat transferfunction
- >> %ako hocemo num i den koristimo ss2tf
- >> [num den] = ss2tf(F,G,H,D,1)
- num =
- 0 1 0
- den =
- 1 4 5
- >> %treba peti parametar
- >> [num den] = ss2tf(F,G,H,D,2)
- num =
- 1 5 8
- den =
- 1 4 5
- >> %vezana je za drugi ulaz
- >> %6 zadatak koristimo Mason
- >> edit zadatak1.net
- >> [num, den]= mason('zadatak1.net', 1,7)
- 1 1 2
- 2 2 3
- 3 3 4
- 4 4 5
- 5 5 6
- 6 6 7
- 7 2 4
- 8 2 5
- 9 6 3
- 10 6 4
- 11 6 5
- '(1)' '(-3)' '(1/z)' '(1/z)' '(1/z)' '(1)' '(2)' '(1)' '(-8)' '(-12)' '(-6)'
- -- Network Info --
- Net File : zadatak1.net
- Start Node : 1
- Stop Node : 7
- ----- Paths -----
- P1 : 1 2 3 4 5 6
- P2 : 1 7 4 5 6
- P3 : 1 8 5 6
- - Order 1 Loops -
- L11 : 3 4 5 9
- L12 : 4 5 10
- L13 : 5 11
- The variables returned are strings describing
- the numerator and Denominator of the transfer equation.
- If you have the symbolic toolbox, use Denominator=sym(Denominator)
- and Numerator=sym(Numerator) to make these symbolic equations.
- You can now use simple(Numerator/Denominator) to boil the whole
- thing down. You could also use simple(Numerator) to simplify the
- Numerator on it' own.
- num =
- '((((1)*(-3)*(1/z)*(1/z)*(1/z)*(1)*(1)-0)+(1)*(2)*(1/z)*(1/z)*(1)*(1)-0)+(1)*(1)*(1/z)*(1)*(1)-0)'
- den =
- '1-((1/z)*(1/z)*(1/z)*(-8)+(1/z)*(1/z)*(-12)+(1/z)*(-6))'
- >> num = sym(num);
- Warning: Support of character vectors that are not valid variable names or define a number will be removed in a
- future release. To create symbolic expressions, first create symbolic variables and then use operations on
- them.
- > In sym>convertExpression (line 1586)
- In sym>convertChar (line 1491)
- In sym>tomupad (line 1243)
- In sym (line 199)
- >> den=sym(den);
- Warning: Support of character vectors that are not valid variable names or define a number will be removed in a
- future release. To create symbolic expressions, first create symbolic variables and then use operations on
- them.
- > In sym>convertExpression (line 1586)
- In sym>convertChar (line 1491)
- In sym>tomupad (line 1243)
- In sym (line 199)
- >> Gs = simplify(num/den)
- Gs =
- (z^2 + 2*z - 3)/(z + 2)^3
- >> %odrediti nule i polove prenosnih funkcija
- >> %solve bi koristili(?)
- >> %izdvajamo num i den i resimo jednacine sa solve
- >> %koristi se u sistem toolboxu
- >> %Odrediti i prikazati impulsivni odziv sistema
- >> %(odziv na dirakovu funkciju)
- >> %imamo Gz kako se dobija odzivni implus sistema (Z transformacija)
- >> %Upravljivost i osmotrivost sada radimo
- >> %kako se prelazi iz simbolickog toolboxa u (neki)toolbox
- >> num
- num =
- 1/z + 2/z^2 - 3/z^3
- >> den
- den =
- 6/z + 12/z^2 + 8/z^3 + 1
- >> [F,G,H] = tf2ss(sym2poly(num),sym2poly(den))
- Error using sym/sym2poly (line 29)
- Not a polynomial.
- >> %slika
- >> %Co = ctrb(F,G)
- >> %proverimo da li je sistem upravljiv
- >> [num, den] = numden(Gz)
- Undefined function 'numden' for input arguments of type 'tf'.
- >> [num, den] = numden(Gs)
- num =
- z^2 + 2*z - 3
- den =
- (z + 2)^3
- >> [F,G,H] = tf2ss(sym2poly(num),sym2poly(den))
- F =
- -6 -12 -8
- 1 0 0
- 0 1 0
- G =
- 1
- 0
- 0
- H =
- 1 2 -3
- >> Co = ctrb(F,G)
- Co =
- 1 -6 24
- 0 1 -6
- 0 0 1
- >>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement