O co chodzi z tym MATLAB'em?!

Podobne dokumenty
UWAGA. Wszystkie wyniki zapisywać na dysku Dane E: Program i przebieg ćwiczenia:

UWAGA. Program i przebieg ćwiczenia:

AKADEMIA MORSKA W SZCZECINIE WI-ET / IIT / ZTT. Instrukcja do zajęc laboratoryjnych nr 6 AUTOMATYKA

Konrad Słodowicz sk30792 AR22 Zadanie domowe satelita

Modelowanie Systemów Dynamicznych Studia zaoczne, Automatyka i Robotyka, rok II. Podstawy SIMULINKA

Algorytmy sztucznej inteligencji

Modele układów dynamicznych - laboratorium. SIMULINK - wprowadzenie

Rozwiązywanie równań różniczkowych z niezerowymi warunkami początkowymi

c - częstość narodzin drapieżników lub współczynnik przyrostu drapieżników,

PAMIĘĆ RAM. Rysunek 1. Blokowy schemat pamięci

Cyfrowe algorytmy sterowania AR S1 semestr 4 Projekt 4

Ile waży arbuz? Copyright Łukasz Sławiński

SIMULINK 2. Lekcja tworzenia czytelnych modeli

ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ NIELINIOWYCH PRZY POMOCY DODATKU SOLVER PROGRAMU MICROSOFT EXCEL. sin x2 (1)

Program na zaliczenie: Odejmowanie widm

Rozdział 4 KLASY, OBIEKTY, METODY

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main.

1 second UPS. Poziom trudności: łatwy. Wersja dokumentacji: 1.3. Aktualizacja: Beckhoff Automation Sp. z o. o.

Materiały dodatkowe. Simulink Real-Time

W dowolnym momencie można zmienić typ wskaźnika.

Najprostsze z zadań z prawdopodobieństwa robi się korzystając z dystrybuanty. Zacznijmy od tego - tu mamy rozkład (wyniki pomiarów):

Wykład z Technologii Informacyjnych. Piotr Mika

Wprowadzenie do SIMULINKA

Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie.

Symulacja działania sterownika dla robota dwuosiowego typu SCARA w środowisku Matlab/Simulink.

Laboratorium 1. Rozwiązywanie równań różniczkowych z niezerowymi warunkami początkowymi

Poradnik obsługi sklepu internetowego opartego o wtyczkę WooCommerce

Zadanie 3 Oblicz jeżeli wiadomo, że liczby 8 2,, 1, , tworzą ciąg arytmetyczny. Wyznacz różnicę ciągu. Rozwiązanie:

Część XVII C++ Funkcje. Funkcja bezargumentowa Najprostszym przypadkiem funkcji jest jej wersja bezargumentowa. Spójrzmy na przykład.

Rysunek 1: Okno z lista

Podstawy inżynierii sterowania Ćwiczenia laboratoryjne

CIĄGI wiadomości podstawowe

UKŁADY SEKWENCYJNO CZASOWE I SPECJALNE

Spacery losowe generowanie realizacji procesu losowego

Materiały dodatkowe. Simulink PLC Coder

Programowanie celowe #1

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 6

MATERIAŁY POMOCNICZE

Otrzymaliśmy w ten sposób ograniczenie na wartości parametru m.

W celu obliczenia charakterystyki częstotliwościowej zastosujemy wzór 1. charakterystyka amplitudowa 0,

//warunki początkowe m=500; T=30; c=0.4; t=linspace(0,t,m); y0=[-2.5;2.5];

KOŚć i przyspieszenie. O PRĘDKOŚCI. Aby ZROZumIEć to POjĘCIE,

Badanie wpływu parametrów korektora na własności dynamiczne układu regulacji automatycznej Ćwiczenia Laboratoryjne Podstawy Automatyki i Automatyzacji

Instytut Politechniczny Państwowa Wyższa Szkoła Zawodowa TECHNIKI REGULACJI AUTOMATYCZNEJ

17. Naprzemienne odejmowanie

Kurs ZDAJ MATURĘ Z MATEMATYKI MODUŁ 2 Teoria liczby rzeczywiste cz.2

WYZNACZANIE PRZEMIESZCZEŃ SOLDIS

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)

Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach?

Wykresy statystyczne w PyroSim, jako narzędzie do prezentacji i weryfikacji symulacji scenariuszy pożarowych

8. Neuron z ciągłą funkcją aktywacji.

1. Opis teoretyczny regulatora i obiektu z opóźnieniem.

Argumenty wywołania programu, operacje na plikach

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

Przekształcanie wykresów.

ZASADY PROGRAMOWANIA KOMPUTERÓW

Elektrotechnika I stopień Ogólno akademicki. Przedmiot kierunkowy. Obowiązkowy Polski VI semestr zimowy

Rozdział 2: Metoda największej wiarygodności i nieliniowa metoda najmniejszych kwadratów

Arytmetyka liczb binarnych

Regulacja dwupołożeniowa.

Tablice (jedno i wielowymiarowe), łańcuchy znaków

Programowanie strukturalne i obiektowe. Funkcje

Laboratorium nr 3. Projektowanie układów automatyki z wykorzystaniem Matlaba i Simulinka

Matlab, zajęcia 3. Jeszcze jeden przykład metoda eliminacji Gaussa dla macierzy 3 na 3

Geometria w R 3. Iloczyn skalarny wektorów

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1

E-E-A-1008-s5 Komputerowa Symulacja Układów Nazwa modułu. Dynamicznych. Elektrotechnika I stopień Ogólno akademicki. Przedmiot kierunkowy

Nazwa implementacji: Nauka języka Python wyrażenia warunkowe. Autor: Piotr Fiorek. Opis implementacji: Poznanie wyrażeń warunkowych if elif - else.

Ćwiczenie 0 : Wprowadzenie do cyfrowego przetwarzania sygnałów. wyświetla listę tematów pomocy. wyświetla okno pomocy (Help / Product Help)

ELEMENTY AUTOMATYKI PRACA W PROGRAMIE SIMULINK 2013

Magistrale na schematach

Układy równań liniowych. Ax = b (1)

INSTRUKCJA LABORATORIUM ELEKTROTECHNIKI

Każde wykonanie bloku instrukcji nazywamy pojedynczym przebiegiem lub iteracją pętli.

Klasyfikatory: k-nn oraz naiwny Bayesa. Agnieszka Nowak Brzezińska Wykład IV

Pathfinder nowe funkcje i możliwości

PROE wykład 2 operacje na wskaźnikach. dr inż. Jacek Naruniec

Liczby losowe i pętla while w języku Python

Na początek: do firmowych ustawień dodajemy sterowanie wyłącznikiem ściennym.

Instytut Politechniczny Państwowa Wyższa Szkoła Zawodowa. Diagnostyka i niezawodność robotów

2. Układy równań liniowych

; B = Wykonaj poniższe obliczenia: Mnożenia, transpozycje etc wykonuję programem i przepisuję wyniki. Mam nadzieję, że umiesz mnożyć macierze...

Przekierowanie portów w routerze - podstawy

Identyfikacja obiektów dynamicznych za pomocą sieci neuronowych

Podstawy Informatyki 1. Laboratorium 8

Podstawy MATLABA, cd.

Synteza strukturalna automatu Moore'a i Mealy

Uruchamianie Aby uruchomić środowisko Simulink należy wpisać w command window Matlaba polecenie simulink lub kliknąć na pasku zadań ikonę programu:

AKADEMIA MORSKA W SZCZECINIE WI-ET / IIT / ZTT. Instrukcja do zajęc laboratoryjnych nr 3 AUTOMATYZACJA I ROBOTYZACJA PROCESÓW PRODUKCYJNYCH

Laboratorium nr 1. i 2.

Jak zawsze wyjdziemy od terminologii. While oznacza dopóki, podczas gdy. Pętla while jest

FUNKCJA KWADRATOWA. Zad 1 Przedstaw funkcję kwadratową w postaci ogólnej. Postać ogólna funkcji kwadratowej to: y = ax + bx + c;(

INSTRUKCJA OBSŁUGI. Przekaźnik czasowy ETM ELEKTROTECH Dzierżoniów. 1. Zastosowanie

1. Opis okna podstawowego programu TPrezenter.

Wzmacniacze operacyjne

AKADEMIA MORSKA W SZCZECINIE WI-ET / IIT / ZTT. Instrukcja do zajęc laboratoryjnych nr 3 AUTOMATYKA

Dla naszego obiektu ciągłego: przy czasie próbkowania T p =2.

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

Podstawą w systemie dwójkowym jest liczba 2 a w systemie dziesiętnym liczba 10.

Projektowanie układów na schemacie

Transkrypt:

O co chodzi z tym MATLAB'em?! Część 1. SIMULINK W pliku data.mat jest zapisany przebieg. Gdzieś tam i kiedyś tam zarejestrowany. Widać go na fioletowo poniżej. Powstał on z obiektu, co ciekawe wiemy jak ten obiekt mniej więcej wyglądał. Rys. 1 Co znaczy wyglądał? A znaczy to że mamy jego schemat w matlabie. Rys. 2 No dobrze skoro to wszystko wiemy to co to za zadanie? O tuż szukamy wartości tych parametrów wpisanych w poszczególne bloki. Ale w m-pliku są juz zadane wartości ale to są orientacyjne, początkowe wartości. Im bardziej zgadniemy jakie one są tym szybciej i lepiej wyszuka nam je MATLAB. Jak dobrze zgadnąć te parametry początkowe to już zagadnienie książkowe lub dla tych co uważnie słuchali na wykładach. :)

Jakie te parametry są? Blok Transport Delay zawiera w sobie t0. Jest to moment rozpoczęcie przebiegu. Dla fioletowego widać że jest to około 0.5 sek. Pozostałe widać gdzie się znajdują. Szukane Parametry: t0 k Tz Tp om ksi Ale jak wyszukać właściwe parametry, tzn. jak zmusić do tego MATLAB żeby to zrobił za nas? Najpierw trzeba się zastanowić na jakiej podstawie MATLAB ma wiedzieć że parametry które znalazł są właściwe. Zazwyczaj na metodach komputerowych robi się to tak. Odejmujemy od siebie dwie wartości potem sprawdzamy czy wynik jest równy zero. Jeżeli wynik jest zero to znaczy ze wartości są takie same. Tak jak 2 2 = 0. Ale my odejmujemy od ciebie dwa przebiegi. Pierwszy to ten z pliku data.mat, drugi z wyjścia układu z rys. 2 (w całym modelu model obiekt lub subsystem). Żeby układ z rys. 2 wygenerował odpowiedź na jego wejście zadajemy skok jednostkowy (blok step, trzeba pamiętać by chwilę rozpoczęcia skoku ustawić w zerowej sekundzie Step Time: 0 Final Value: 1 ). Doszliśmy do tego że powstał nam układ: rys 3 Więc już teraz TEORETYCZNIE możemy kazać dla MATLAB'a podstawiać odpowiednie wartości pod parametry i sprawdzać czy wyjście z sumatora jest zerem czy nie! Ale nie jest tak prosto zadanie jest trochę bardziej trudniejsze bo na podstawie tej różnicy tworzymy wskaźnik jakości. Tzn. jakąś tam funkcję i sprawdzamy jaki uzyskuje wynik. Naszym wskaźnikiem jakości ma być: i także będziemy sprawdzać czy osiąga zero wynik tej funkcji po podstawieniu do niej naszej równicy. Ta funkcja gwarantuje nam że porównujemy dwa wykresy funkcji. Wcześniej tak nie było! Dla chcących widzieć dla czego tak nie było?! Ponieważ sama różnica jest wartością chwilową. Tzn. sprawdzaliśmy czy w danej chwili różnica pomiędzy wykresami jest zerem. Całkując dokonujemy sumowana błędów od chwili t0=0 aż do chwili t1= (całkujemy od 0 do ), ale w MATLAB'ie ograniczamy czas do 10s. Czyli nasze t1=10s. Jak zrealizować taką funkcję w MATLAB'ie? 1) Najpierw podnosimy do kwadratu. Wykorzystując blok mnożący z dwoma wejściami w podając na te wejścia naszą różnicę. Proste!

2) Potem z wyjścia bolku mnożącego zadajemy integrator (z ang. Całkowacz) i mamy nasz poszukiwany wynik, który to MATLAB będzie sprawdzał dla nas czy jest zerem! Oczywiście trudno jest osiągnąć idealną konfigurację! Ale zauważamy że nasz wynik jest liczą dodatnią, więc im mniejsza tzn. bliższa zeru będzie tym bardziej dopasowane są parametry. 3) Wynik wyprowadzamy blokiem To Workspace. UWAGA!! W bloku To Workspace opcja Save Format musi być ustawiona w tryb tablicowy Array. Więc finalnie nasz schemat wygląda tak: rys 4 Cały ten schemat z ustawieniami zapisany jest w pliku dupa_r12.mdl

M-PLIKI Teraz opowiem trochę o M-plikach. Pierwszy pod lupę bierzemy plik cel.m. Linia 1 to deklaracja funkcji, cały ten plik jest funkcją o nazwie cel, dlatego też plik tak samo sie nazywa cel.m Linia 3 Definiowanie zmiennych jako globalnych. Tak ma być i już, żeby były widoczne poza funkcją a w szczególności w naszym projekcie w SIMULINK'u Linie 5 do 9 z wektora X pobieramy zmienne do naszych parametrów tak by zostały podstawione w projekcie do którego odwołujemy sie w Linii 14. Parametry zapisane są w wektorze o nazwie X po to by łatwiej można było nim manipulować niż stosem różnych nazw zmiennych. W linii 15 wynik obliczeń SIMULINK'a wyprowadzonego jako zmienna J jest przepisywana jako wartość wyjściowa funkcji cel.

Kolejny plik to nic1.m: Linie 3 10 podają wartość początkową parametrów. Na stronie drugiej napisałem skąd są te wartości. Linia 12 w tym miejscu zapisujemy parametry w postaci wektora X0 celowo inaczej niż wewnątrz funkcji cel po to by nie pomieszały się te wartości. Linia 13 to wywołanie funkcji cel z parametrem X0. Linia 15 to sedno całego problemu! Funkcja fminsearch służ właśnie od poszukiwania wartości najmniejszej na podstawie zadanego parametru. X0 to liczby jakie będzie mieniać ta funkcja a 'cel' to wartość którą ona minimalizuje! W g zapisywany jest nasz wektor aktualnych wartości poszukiwanych parametrów Jak włączyć symulacje? Wpisujemy po prostu nic1 w MATLAB'ie.