Podstawy Automatyki Matlab

download Podstawy Automatyki Matlab

of 5

Transcript of Podstawy Automatyki Matlab

Podstawy Automatyki wiczenia Cz.1 rodowisko Matlab Podstawow jednostk obliczeniow w programie Matlab jest macierz. Wektory i skalary mog by tutaj rozpatrywane jako specjalne typy macierzy. Elementy macierzy zawarte jest w nawiasach prostoktnych []. Elementy w kolumnach odseparowane s od siebie spacjami lub przecinkami, wiersze natomiast rednikami lub wciniciem klawisza Enter. Matlab umoliwia wprowadzanie tekstu/komend na kilka sposobw. Najbardziej popularne to bezporednie wprowadzanie komend bezporednio w oknie edycyjnym oraz przygotowywanie tzw m-plikw plikw z rozszerzeniem *.m przygotowanych w dowolnym edytorze tekstowym. Wywoanie procedur w nich zawartych odbywa si poprzez wpisanie nazwy pliku w oknie edycyjnym. Dostp do poprzednio wpisywanych komend mona uzyska za pomoc strzaek. W przypadku wtpliwoci, co do dziaania poszczeglnych funkcji Matlaba mona posuy si komenda help: przykad help roots W rodowisku Matlab szczeglne znaczenie maj: % - oznacza pocztek komentarza, [] tworzenie tablic i macierzy, () argumenty wejciowe funkcji, nawiasy do okrelenia kolejnoci dziaa ; - koniec wiersza macierzy ; - decyduje, czy dana linia bdzie wywietlana na ekranie, Przykadowo: A=1; - powoduje przypisanie wartoci 1 do zmiennej A, na ekranie nie pojawi si potwierdzenie wykonania operacji A=1 dziaanie, jak wyej. System potwierdzi przypisanie wartoci 1 do zmiennej A. Liczby zespolone: Wprowadzanie zmiennych i wyrae zespolonych odbywa si nastpujco: Z1=3+4j Lub Z1=3+4i Poprawne s obie formy zapisu. Operacje na liczbach zespolonych: Warto bezwzgldna : abs(Z1) Liczba sprzona : conj(Z1) Kt : angle(Z1) Cz rzeczywista : real(Z1) Cz urojona : imag(Z1) Kt moe by liczony rwnie za pomoc funkcji atan:

1

atan2(imag(Z1),real(Z1)) Zadania do wykonania: Dla liczb zespolonych Z1=12+j3 Z2=1-j5 Z3=44-j12,5 Wyznaczy: Moduy Kty Cz rzeczywist i urojon Liczby sprzone (kty dla liczb sprzonych) Wyraenia: Z2 Z1 + Z3 Z1 Z2 + Z3

( Z1 Z2 ) + Z3Wyniki powyszych operacji przyporzdkowa do innych zmiennych Macierze i operacje na macierzach: Wprowadzanie macierzy i wektorw odbywa si nastpujco: Komenda A = [ a b c] tworzy wektor A = a b c, Komenda A = [ a; b; c] tworzy wektor a A =b, c tworzy macierz a b c A=d e f , g h i

Komenda

A = [ a b c; d e f ; g h i ]

Wybrane operacje na macierzach transpozycja macierzy * - iloczyn wektorowy Nazwa_miacierzy(x,y)= warto zmiana wartoci wybranego elementu macierzy o wsprzdnych (x,y). Jeeli (x,y)=(:,:) oznacza to zmian wszystkich elementw macierzy. W podobny sposb mona zmieni wymiar macierzy. Det(nazwa_macierzy) wyznacznik macierzy Inv(nazwa_macierzy) macierz odwrotna Przykady Dane s wektory 2

X=[1 2 3] Y=[4 5 6] Wyznaczy i zinterpretowa wynik operacji A = X +iY Dokona mnoenia wektorw X*Y Dokona transpozycji wektora Y: B=Y % apostrof oznacza transpozycje macierzy Dokona mnoenia wektorw X*B Doda kolejne elementy macierzy X i Y celem uzyskania macierzy o wymiarach (3x3). Przyj dowolne wartoci elementw macierzy. Analitycznie i za pomoc Matlaba : wyznaczy wyznaczniki obu macierzy dokona transpozycji macierzy. wyznaczy wyznaczniki macierzy transponowanych. Wyznaczy iloczyn macierzy Wyznaczy sum macierzy Wyznaczy macierz odwrotn (tylko Matlab). Pliki wsadowe (m-files) Ponisze funkcje naley uruchomi w edytorze Matlaba a nastpnie jako pliki wsadowe do programu Matlab: Disp wywietla komentarz (dla uytkownika) Input wczytuje wartoci wejciowe #1 % Operacje na liczbach zespolonych disp(' dla liczby zespolonej postaci c1=a1+jb1'); disp(' podaj '); a1=input('a1='); b1=input('b1='); disp(' dla liczby zespolonej postaci c2=a2+jb2'); disp(' podaj '); a2=input('a2='); b2=input('b2='); disp(' podales liczby'); c1=a1+b1*j 3

c2=a2+b2*j disp(' dodawanie'); c=c1+c2 disp(' mnozenie'); c=c1*c2 disp(' dzielenie'); c=c1/c2 Zadanie Przygotowa plik m, ktry wyznaczy modu, liczb sprzon oraz kt dowolnej liczby zespolonej. Program powinien spyta o czci rzeczywiste i urojone liczb. Przygotowa plik m, ktry wyznaczy cz rzeczywist i urojon liczby o zadanym module i kcie.

Wykorzystane komendy Roots() liczy pierwiastki wielomianu n-tego stopnia Plot(x,y) wywietla wynik na wykresie jako punkt o wsprzdnych (x,y) Hold on zatrzymuje wykres kolejne wyniki wywietlane SA na tym samym wykresie Grid on - wcza siatk #1 % wyznaczenie pierwiastkow rownania %dane jest rownanie postaci % a(n)*x^x+a(n-1)*x^(n-1)+....a0*x^0=0 % podaj macierz wspolczynnikow wielomianu % a=[a(n) a(n-1) a(0)] % komenda ROOTS(C)liczy pierwastki % przyklad A=0; disp(' dla rownania postaci A2*x^2+A1*x-A0=0'); disp(' podaj wspolczynniki'); A(1)=input('A2='); A(2)=input('A1='); A(3)=input('A0='); disp(' macierz A wspolczynnikow rowania'); A Pierwiastki=Roots(A); disp(' pierwiastki rowania wynosza'); Pierwiastki(1) Pierwiastki(2) %Real1=real(Pierwiastki(1)); %Imag1=imag(Pierwiastki(1)); %plot(Real1, Imag1) plot(Pierwiastki(1),'d' ) hold on plot(Pierwiastki(2),'d' ) 4

hold off grid on disp(' po podstawieniu do rownania uzyskuje sie'); wynik1=A(1)*(Pierwiastki(1)^2)+A(2)*(Pierwiastki(1))+A(3) wynik2=A(1)*(Pierwiastki(2)^2)+A(2)*(Pierwiastki(2))+A(3) Zadanie Przygotowa plik m, macierz odwrotn i transponowan dowolnej macierzy (program powinien spyta o poszczeglne jej elementy)

5