PODSTAWY AUTOMATYKI I ROBOTYKI Laboratorium Sala 125
Transkrypt
PODSTAWY AUTOMATYKI I ROBOTYKI Laboratorium Sala 125
PODSTAWY AUTOMATYKI I ROBOTYKI Laboratorium Wykonał: Sala 125 Łukasz Konopacki 155796 Grupa: poniedziałek/P, 16.10 – 18.10 Prowadzący: Dr.inż.Ewa Szlachcic Termin oddania sprawozdania: Ocena: Matlab - firmy The MathWorks to jednocześnie interakcyjne środowisko i wysokiego poziomu język programowania przeznaczony przedewszystkim do obliczeń naukowych i inżynierskich.Pozwala na wykonywanie skomplikowanych obliczeń numerycznych oraz wizualizacji wyników.Nazwa pakietu jest skrótem od „MATrix LABoratory” czyli „Laboratorium Macierzowe”.Już sama nazwa wskazuje, że użytkownik operuje tylko na jednym typie danych – macierzach ( rzeczywistych bądż zespolonych).Dlatego też nawet pojedyncze liczby reprezentowane są w formie jednowymiarowej macierzy kwadratowej.Do ważniejszych cech Matlaba należy dodać możliwość pracy w trybie interakcyjnym.Wyniki obliczeń są dostępne natychmiast i można je przedstawić w postaci wykresów 2 lub 3 wymiarowcy albo map wielobarwnych. Praca z programem : Po uruchomieniu programu MatLab pojawia sie okno wiersza poleceń.O gotowości programu świadczą „znaki zachęty” >>.Wszystkie polecienie zatwierdzamy ENTER-em. Help-system pomocy Help temat np.(help elfun) – program pokazuje wszystkie dostępne pomoce dotyczące danej grupy. 1) Podstawowe obliczenia Atan(log10(log(4+2)*3)) program bez problemu obliczy nam to wyrażenie i na ekranie pokaże się wynik ans = 0.63084 Atan oznacza funkcję arctangens 2) Wektory: X=[1 2 3 4] program pokaże nam X= 1 2 3 4 Y=[1:8] program pokaże nam Y= 1 2 3 4 5 6 7 8 Z=[1:3:10] program pokaże nam Z= 1 4 7 10 ( pierwsza liczba odpowiada początkowi wektora,ostatnia końcowki a środkowa jest długością kroku ) a)Do każdego elementu wektora można dodać/odjąc dowolną liczbę: B=X+1 b)Dodawanie/Odejmowanie dwóch wektorów X=[1 2 3 4] Y=[2 3 4 5] Z=X+Y/Z=X-Y Z=X*2 program pomnoży wektor/macierz razy 2 R=[1 2 3 4] wprowadzenie wektora r Norm(r) obliczanie normy wektora r,w naszym przypadku ans = 5.4772 R*R’ 3) Macierze: Np. A=[1,2,3,4] – wprowadzenie macierzy A A=1 2 3 B=[1;2;3;4] – wprowadzenie macierzy B B = Zeros(3,2) – program wprowadzi macierz Ones(2,3) – program wprowadz macierz Eye(2,2) – program stworzy macierz jednostkowa z jedynkami na przekątniej i w naszym przypadku ukaże się taka macierz A* B – program obliczy nam pomnożenie A * B ( wartości macierzy podane wyżej ) Program pokaże nam : ans=14 B * A – program obliczy nam pomnożenie B * A( wartości macierzy podane wyżej ) Program pokaże nam : AT=A’ transponowanie macierzy dla A = [1 2 3] Program pokaże nam : Det(A) obliczanie wyznacznika macierzy,np dla A = Inv(a) obliczanie odwrotniej macierz,np. dla A = det(a) = 0 inv(a)= C=A^2 mnożenie macierzy przez siebie ( wykorzystując operator potęgi ) Np. dla macierzy A= Potęgą jest : c= C=A.^2 podnoszenie każdego elementu macierzy do kwadratu z osobna Np. dla macierzy a = Podniesienie każdego elementu do kwadratu jest macierz : c = X=inv(a)*b’ X=A/B rozwiązuje układ AX=B X=B/A rozwiązuje układ XA=B BLAD=A*X-B’ obliczanie normy błedu np. dla A = Oraz B = norma błędu wynosi BLAD = -3.5527e-0.15 -3.5527e-0.15 -1.7764e-0.15 0.0000e+000 Cond(a) oblicza spektralną liczbę uwarunkowania macierzy kwadratowej Np. dla macierzy a= cond(a) = 5.6133e+016 4) Liczby zespolone: Wprowadzamy dane liczby zespolonej Np. A=complex(4,4) program tworzy liczbę zespoloną a=4+4i Lub A= 4+ 4i program rownież tworzy liczbę zespoloną a=4+4i Z=2+2i W=5-1i Podstawowe obliczenia : a) y=w+z obliczenia programy : y=7+i y=w-z y=3-3i y=w*z y=12+8i y=w/z y=1.0000-1.5000i Obliczenie modułu liczby zespolonej Abs(a) ans=5.6569 Modul=Sqrt((real(a))^2+(imag(a))^2) ans=5.5659 liczenie modulu liczby zespolonej Po wpisaniu komendy imag(a) lub real(a) ukażą sie nam odpowiednio liczby urojone lub rzeczywiste dla danej funkcji b) Liczenie stopni w Celcjuszach i Radianach Atand(1) ilość stopni(w Celcjuszach) w którym arctangens posiada wartość 1 Program pokaże nam : ans = 45 Atan(1) ilość stopni(w Radianach) w którym arctangens posiada wartość 1 Program pokaże nam : ans = 0.78540 Atand(real(a)/imag(a)) liczenie stopni w Celcjuszach Atand(imag(a)/real(a)) liczenie stopni w Celcjuszach 5) Wielomiany: a) f(x)= 2x2 + 3x +1 Aby MatLab odczytał tą funkcję musimy ją zapisać jako wektor: D=[2 3 1] Obliczanie miejsc zerowych funkcji wyraża się wzorem : Roots(d) Ans= -1.0000 -0.5000 Liczenie wartości funkcji w danym punkcie: Polyval(d,3) Ans=28 Inne polecenia dotyczące wielomianów: • • • • poly - tworzy wielomian na podstawie podanych pierwiastków polyder - pochodna wielomianu conv - mnożenie wielomianów deconv - dzielenie wielomianów 6) Rysowanie: Sin(x) w trójkącie prostokątnym nazywamy stosunek długości przyprostokątnej przeciwnegłej temu kątowi do długości przeciwprostokątnej Cos(x) Cosiunusem kąta £ w trójkącie prostokątnym nazywamy stosunek długości przyprostokątnej przyległej temu kątowi do długości przeciwprostokątnej a) Wykresy dwuwymiarowe X=[0:0.1:2*pi] program pokaże nam wartość x = od 0.00000 do 6.200000 co 0.1 Plot(sin(x)) Po wpisaniu takiej komendy program pokaże nam wykres sinusa : potrzebna pomoc to wpisujemy komendę help plot jeżeli jest Parametry opisujące wykres funkcji : ymcrgwk- żółty purpurowy błękitny czerwony zielony biały czarny .ox+---:- punkt kółko krzyżyk plus linia ciągła linia kreskowa linia kropkowa Polecenia służące do opisywania wykresu: • • • • title - nadaje tytuł wykresowi np.title(‘wpisujemy nazwę wykresu’) xlabel - opisuje oś x np.xlabel(‘wpisujemy nazwę osi x’) ylabel - opisuje oś y np.ylabel(‘wpisujemy nazwę osi y’) legend - umieszcza legndę na wykresie np.dopisaniu do funkcji : plot(sin(x),’r’);xlabel(‘os x’);ylabel(‘os y) program pokaże nam wykres taki sam jak powyżej lecz z podpisanymi osiami oraz kolor wykresu zmieni sie na czerwony zgodnie z tabelką powyżej. Można również narysować 2 funkcje jednocześnie na jednym wykresie Wieć zaczniemy od komendy u=[-2*pi:0.1:2*pi] ustalamy przedział Plot(u,sin(u),u,cos(u)) po wpisaniu tej komendy pokaże się nam Można rownież wykorzystac polecenie surface która jest funkcją niskiego poziomu do tworzenie obiektów graficznych. b) Wykresy trójwymiarowe Program MatLab umożliwia wizulalizację 3-wymiarową.Umożliwiają to funkcje krzywych przestrzennych (plot), siatek (mesh), powierzchni (surf), oraz wykresów konturowych (contour) Np. T=[0:0.01:1] Z=(sin(2*pi*t)) Surf(z’*z) zakres od 0 do 1 co 0.01 wykres sinusa zależnego od parametru „t” polecenie rysowania wykresu 3 wymiarowego Istnieją jeszcze inne polecenia związane z wykresami 3 wymiarowymi : np. Z=[2 4 7 8 25 47] Z=peaks Contour(z)