Laboratoriu Dynaiki Urządzeń Mechatroniki Ćwiczenie 1 Wprowadzenie do korzystania z prograu Matlab Siulink w Laboratoriu Dynaiki Urządzeń Mechatroniki Zadanie 1. Zbudować odel syulacyjny, w który: Występuje źródło napięcia sinusoidalnego w funkcji czasu, w przedziale jednego okresu, o napięciu znaionowy skuteczny U N =230 V, częstotliwości f=50 Hz i fazie początkowej ϕ = 0, u( t) = U sin( ω t + ϕ), t 0. T. Obliczana jest zależność ψ ( t) = u( t) dt. t 0 Przebiegi u (t) i ψ (t) pokazane są na jedny oscyloskopie. Na oscyloskopie XY przedstawiona jest trajektoria sygnałów ψ (u) Zadanie 2. Zodyfikować odel, żeby wykrese trajektorii ψ (u) był okrąg, o środku leżący w środku układu współrzędnych. Opracować dwa warianty odyfikacji zapisane w oddzielnych plikach (np. cw1.dl i cwf1.dl): bez zastosowania i z zastosowanie bloku Fcn Zadanie 3. Opracować progra syulacyjny Dokonać paraetryzacji odelu syulacyjnego, czyli zastąpić wszystkie potrzebne dane liczbowe nazwai paraetrów oraz przesłać wyniki syulacji tzn. u (t) i ψ (t) do przestrzeni roboczej Matlaba. Napisać plik skryptowy, w który paraetro zostaną przypisane odpowiednie wartości liczbowe. Uruchoić syulację z poziou pliku skryptowego. Przedstawić graficznie wyniki syulacji w funkcji czasu i trajektorię ψ (u) z wykorzystanie funkcji plot. Proble do saodzielnego rozwiązania: Zodyfikować foruły w odpowiednich blokach odeli syulacyjnych (bez i z blokie Fcn) w taki sposób, żeby opracowany progra spełniał wyagania zadania drugiego, dla dowolnej wartości paraetru ϕ. Rozwiązanie zadania 1 Po uruchoieniu Matlaba należy ustawić odpowiednią ścieżkę, czyli określić iejsce, gdzie będą zapaiętane pliki: odelu syulacyjnego i plik skryptowy z paraetrai. Na górny pasku zadań okna koend Matlaba nacisnąć ikonę Siulink. Pokaże się okno z bibliotekai bloków rys.1. Otworzyć nowe okno graficzne, w który budowany będzie odel. rys. 2 W bibliotece Sources znaleźć blok Sine Wave i przeciągnąć go yszką do okna odelu. Bloki w oknie graficzny ożna kasować, przesuwać i kopiować. Klikniecie lewy przyciskie yszki, gdy kursor znajduje się w obszarze bloku powoduje zaznaczenie bloku. Zaznaczony blok kasujey przyciskie Detale, przesuway przeciągając yszką z wciśnięty lewy przyciskie, kopiujey przeciągając yszka z wciśnięty prawy
przyciskie. Dwukrotne klikniecie bloku powoduje otworzenie okna dialogowego bloku, które uożliwia zdefiniowanie paraetrów bloku. Dwukrotnie kliknąć blok Sine Wale, w otwarty oknie dialogowy wprowadzić w kolejne pola Aplitudę 230*2^0.5 Przesuniecie składowa stała 0 Częstotliwość 2*pi*50 Fazę 0 Zaknąć okno wciskając OK. Z biblioteki Sinks przeciągnąć do okna odelu blok oscyloskopu Scope Dwukrotnie kliknąć blok Scope. Na pasku zadań okna oscyloskopu wcisnąć ikonę Paraeters. W otwarty oknie, w polu Nuber of axes wpisać 2. Po naciśnięciu OK. blok Scope będzie iał dwa wejścia na dwa oddzielne przebiegi sygnałów. Rys.1 Część okna Siulinka z bibliotekai bloków. Rys. 2 Fragent okna odelu z blokie Sine Wave Z biblioteki Continous przeciągnąć blok integratora Integrator. Połączyć bloki jak na rys. 3. Rys. 3. Połączenie bloków Łączenie bloków. Bloki ożna łączyć yszką przeciągając linię od wyjścia jednego bloku do wejścia innego. Gdy zbliżyy kursor yszki do wejścia lub wyjścia bloku zienia on kształt na krzyżyk. Linia powstaje przy przeciąganiu tego kursora. Potrzebne jest do tego wciśniecie lewego lub prawego przycisku yszki. Przy tworzeniu, linia jest oznaczona jako przerywana. Jeżeli linia prawidło połączy bloki, to zaienia się na ciągłą. W przeciwny przypadku zaienia się na kropkowaną czerwoną. Odgałęzienie od linii sygnału uzyskuje się przez naciśnięcie kursore yszki na linię w iejscu zaierzonego rozgałęzienia i przeciągnięcie z wciśnięty prawy przyciskie. Inny sposobe robienia rozgałęzienia jest ciągnięcie linii od wejścia bloku do iejsca na linii, z który wejście a być połączone.
Istnieje również szybki sposób łączenia bloków. Dwa niepołączone bloki ożna połączyć przez kliknięcie yszką na jeden blok, naciśnięcie przycisku Ctrl i następnie kliknięcie yszką w drugi blok. Zaznaczanie, przesuwanie, kasowanie i kopiowanie bloków. Wciśnięcie lewego przycisku yszki, gdy kursor znajduje się poza blokai powoduje zianę kształtu kursora na krzyżyk. Ciągniecie tego kursora poza blokai określa obszar zaznaczenia. Po zwolnieniu przycisku yszki wszystkie bloki z tego obszaru są zaznaczone. Zaznaczone bloki ożna kasować, przesuwać lub kopiować. Kasujey przyciskie Delete, przesuway przeciągając yszką z wciśnięty lewy przyciskie, kopiujey przeciągając yszką z wciśnięty prawy przyciskie. Kliknięcie prawy przyciskie yszki powoduje wywołanie enu kontekstowego. Przeciąganie kursora znajdującego się w obszarze bloku z wciśnięty prawy przyciskie powoduje bardzo wygodne kopiowanie bloku. Przed uruchoienie syulacji trzeba ustawić paraetry syulacji. W ty celu należy wybrać z górnego enu Siulation podenu Siulation paraeters. W oknie dialogowy ustawić początek czasu syulacji 0.0, koniec jeden okres tzn. 0.02. W oknie ty ożna ustawiać także inialny, aksyalny i początkowy krok czasu Rozpoczęcie syulacji odbywa się przez wybór pola Start w enu Siulation lub za poocą ikony na pasku zadań okna z odele. Wyniki obliczeń ożna podglądać na oscyloskopie. W ty celu należy dwukrotnie kliknąć w blok Scope. Dopasowanie skali okien oscyloskopu do przebiegów uzyskuje się przez naciśnięcie ikony. Wyniki syulacji przed i po dopasowaniu skali pokazano na rys. 4 i 5. Rys. 4. Wyniki obliczeń przed dopasowanie skali Rys. 5. Wyniki obliczeń po dopasowaniu skali Aby narysować trajektorię sygnałów należy z biblioteki Sinks przeciągnąć do okna odelu oscyloskop XY blok XY Graph podłączyć go jak na rys. 6. Sygnał podawany na oś X trzeba podłączyć do górnego wejścia oscyloskopu. W oknie oscyloskopu otrzyaliśy nieoczekiwany przebieg pokazany na rys. 7. Jest to rezultat niewłaściwej skali Skalę oscyloskopu ożna zienić po otwarciu okna dialogowego (dwukrotne kliknięcie bloku) i wpisaniu aksyalnych i inialnych zakresów osi. Wartości te ożna odczytać z oscyloskopu wyświetlającego przebiegi w funkcji czasu. W oknie dialogowy bloku XY Graph kolejno wpisujey: x-in -500; x-ax 500, y-in -5 y-ax 5. Obraz trajektorii w nowy układzie współrzędnych pojawi się dopiero po ponowny wykonaniu obliczeń, (wybór z enu Siulation pola Start). W wyniku tego otrzyay
obraz trajektorii jak na rys. 8. Z rysunku tego wynika, że przebieg ψ (t) a znacznie niejszą aplitudę od u(t) i dodatkowo a składową stałą. Rys. 6. Model z oscyloskope XY Rys. 7. Przebieg trajektorii przy niedopasowanej skali Rozwiązanie zadania 2 Rys. 8. Przebieg trajektorii sygnałów po zianie skali W celu rozwiązania zadania 2 należy obliczyć relacje poiędzy aplitudai sygnałów oraz obliczyć składową stałą przebiegu ψ ( t) = t 0 u( t) dt U U sin( ω t) dt = cos( ωt) + C ω Stałą C ożna wyznaczyć z warunków początkowych. Dla t=0, ψ ( t) = 0, czyli U U + C = 0 C =. Z powyższego widać, że przebieg ψ (t) a aplitudę ω razy ω ω U niejszą od u (t) i przesunięty jest o stałą. Aby spełnić wyagania zadania należy ω przebieg ψ (t) ponożyć przez ω i następnie odjąć U. W ty celu należy dołączyć do odelu trzy bloki. Z biblioteki Math Operations blok wzocnienia Gain i suator Su, a z
biblioteki Sources blok Constant. Wartość wzocnienia w bloku Gain ożna wpisać po dwukrotny kliknięciu bloku i otwarciu okna dialogowego wpisując 2*pi*50. Podobnie należy postąpić z blokie Constant wpisując wartość 230*2^0.5. Po dwukrotny kliknięciu w suator należy zienić znak dołączenia bloku Constant na inus. Po odyfikacji układ wygląda jak na rys. 9. Zapisujey odel w pliku cw1.dl, (rozszerzenie jest dodawane autoatycznie). Przed uruchoienie obliczeń należy ujednolicić skale osi X [-500 500] i osi Y [-500 500] w oscyloskopie XY. Wyniki obliczeń pokazano na rys. 10 i 11. Inny, bardziej zalecany sposób odyfikacji układu polega na zastosowaniu tylko jednego bloku Fcn z biblioteki User-Defined Functions. W ty celu zapisujey odel cw1.dl w pliku pod inną nazwą np. cwf1.dl (enu File, Save as ). Zaznaczay i usuway bloki Constant, Gain i Su oraz linie, które je łączyły. Na to iejsce wstawiay blok Fcn. Po połaczeniu otrzyujey odel, jak na rys. 12. Wystarczy w bloku Fcn wpisać wyrażenie u*2*pi*50-230*2^0.5. i otrzyujey odel równoważny odelowi z rys. 9. Jak widać nowy odel jest strukturalnie prostszy. Sprawdzenie poprawności wyników pozostawia się ćwiczący. Blok Fcn jest bardzo dogodny do wykonywania operacji arytetycznych na zbiorze sygnałów. Wchodzące do bloku sygnały, w postaci wiązki, nuerowane są w kolejności grupowania (zastosowanie bloku Mux), a w wyrażeniu traktowane są jako zienne indeksowane u(1), u(2), u(3),.., u(n). Gdy jest tylko jeden sygnał indeks ożna poinąć. Oprócz wektora sygnałów wejściowych w wyrażeniu algebraiczny ożna używać ziennych stworzonych w przestrzeni roboczej Matlaba i podstawowych funkcji ateatycznych podobnie jak w języku C. Inną ważną zaletą bloku Fcn jest ożliwość zapisywania wyrażeń algebraiczno-logicznych. Daje to ożliwość zwięzłego zapisywania złożonych warunków logicznych. Wadą bloku Fcn, istotną przy złożonych odelach, jest ograniczenie do jednego sygnału wyjściowego. Rys. 9. Układ spełniający wyagania zadania 2 Rys. 10. Wyniki obliczeń w funkcji czasu (odel rys 9) Rys.11. Trajektoria sygnałów z rys 10.
Rys.12. Modyfikacja układu z zastosowanie bloku Fcn Z rozważań zaieszczonych na początku rozwiązania zadania drugiego wynika, że składowa stała sygnału ψ (t) zależy od wyboru chwili, w której następuje początek całkowania przebiegu sinusoidalnego. Jeżeli przyjiey, że zawsze ψ = 0 w chwili t=0, to składowa stała ψ (t) zależy od ϕ - fazy przebiegu sinusoidalnego. W rozpatrywany przypadku ϕ = 0 składowa stała przyjuje wartość aksyalną, równą aplitudzie ψ (t). Zate w ty przypadku aksyalna wartość ψ jest równa dwukrotnej aplitudzie ψ (t). Znalezienie ogólnej zależności na składową stałą pozastawia się ćwiczący do saodzielnego rozwiązania. Zależność ta jest potrzebna do rozwiązania probleu przedstawionego w zadaniu trzeci. Zależność wartości aksyalnej całki z przebiegu sinusoidalnego od fazy początkowej tego przebiegu a istotne znaczenie praktyczne. Jeżeli przyjiey ze przebieg sinusoidalny określa napięcie indukowane w uzwojeniu przetwornika elektroagnetycznego np. transforatora, to sygnał ψ (t) oznacza struień agnetyczny skojarzony z ty uzwojenie. Wytworzenie (w najbardziej niekorzystny przypadku) dwukrotnie większego, w stosunku do wartości znaionowej, struienia w obwodzie agnetyczny, z ateriału ferroagnetycznego o nieliniowej charakterystyce agnesowania, oże spowodować wystąpienie niebezpiecznych, kilkudziesięciokrotnie większych wartości prądu agnesującego. Zjawiska te będą dokładnie badane w ćwiczeniu dotyczący odelowania transforatora. Rozwiązanie zadania 3 Z dotychczasowego przebiegu ćwiczenia widać, że istnieje duża swoboda w budowie odelu. Jednak nie wszystkie rozwiązania, które na początku wydają się najprostsze, prowadzą do rozwiązań najbardziej użytecznych np. z punktu widzenia użytkowania odelu. Z tego co dotychczas zostało przedstawione widać, że niektóre dane wpływają na wartości wpisywane w okna dialogowe różnych bloków. Innyi słowy dane te wpływają na definicję różnych bloków. Ziana wartości jednej danej w odelu wyaga odyfikacji wszystkich, zależnych od niej bloków. W przypadku złożonych odeli jest to bardzo uciążliwe, gdyż trzeba paiętać, która dana wpływa, na dane bloki. Aby uniknąć tej niedogodności wprowadza się tzw. paraetryzację odelu. Polega ona na używaniu przy definiowaniu bloków (wpisy w okna dialogowe) zaiast konkretnych wartości nazw ziennych paraetrów. W ten sposób otrzyuje się odel uniwersalny, który oże działać na różnych zestawach wartości przypisanych paraetro. Model sparaetryzowany kounikuje się z wartościai paraetrów przez tzw. przestrzeń roboczą Workspace. Model oże korzystać z paraetrów ziennych tylko wtedy, gdy są one zdefiniowane w przestrzeni roboczej. Definicja ziennej polega na napisaniu w oknie koend Matlaba nazwy i przypisaniu jej odpowiedniej wartości np. UN=230. Definiowanie,
kreowanie ziennych w przestrzeni roboczej, przy wykorzystaniu okna koend Matlaba nie jest wygodne, gdyż czynności te należy powtarzać na początku każdej sesji pracy z odele. Zaiast definiować zienne bezpośrednio w oknie koend Matlaba ożna związaną z ty sekwencję poleceń zapisać w pliku. Plik ten to tzw. plik skryptowy Matlaba. W odróżnieniu od pliku funkcyjnego, który a określoną forę, plik skryptowy zwiera dowolną sekwencję poleceń. Plik ten najlepiej zapisać na dysku, w ty say iejscu gdzie znajduje się plik z odele. Przy zapisie do nazwy pliku dodawane jest autoatycznie rozszerzenie. Poio tego, że plik, w który zapisany jest odel a inne rozszerzenie (dl), to nazwy pliku skryptowego i pliku z odele powinny być inne. Proponuje się, żeby nazwę pliku skryptowego tworzyć dodając s na początku nazwy pliku z odele. Napisanie nazwy pliku skryptowego w oknie koend Matlaba (Coand Window) i naciśnięcie Enter jest równoznaczne z wpisanie w oknie koend sekwencji poleceń zawartych w ty pliku. Opisane wyżej czynności powodują tzw. uruchoienie pliku skryptowego. Inny sposobe uruchoienia pliku skryptowego jest naciśniecie ikony na pasku zadań edytora lub naciśnięcie przycisku F5. Gdy korzystay z ikony lub przycisku F5 nie usiy paiętać o zapisywaniu pliku przed uruchoienie. W ty przypadku następuje sprawdzenie, czy plik był odyfikowany? Jeżeli w pliku były robione ziany, które nie są zapisane na dysku, to przed uruchoienie plik jest autoatycznie zapisywany. Uruchoienie pliku z okna koend a tę zaletę, że bezpośrednio widziy kounikaty o ewentualnych błędach wykonania poleceń zawartych w pliku. Należy nadienić, że w ty przypadku nie a potrzeby każdorazowego wpisywania nazwy pliku. Nazwy poleceń wpisywane w oknie koend są zapaiętywane. Można je przywołać lub przewijać przyciskai strzałka w górę lub w dół. Aby obejrzeć kounikaty związane z wykonanie prograu, przy innych sposobach uruchaiania, należy uaktywnić okno koend Matlaba. Przy budowie odelu sparaetryzowanego zaleca się równoczesne tworzenie: odelu w oknie graficzny (wybór bloków i odpowiednie ich łączenie) i pliku skryptowego (pisanego w edytorze), w który definiowane są zienne używane w oknach dialogowych poszczególnych bloków. Jednoczesne tworzenie odelu i pliku skryptowego daje większą pewność, że wszystkie zienne używane do definicji bloków zostaną stworzone w pliku skryptowy. Wszelkie ziany paraetrów wykonuje się przez edycję pliku skryptowego. Aby ziany paraetrów przekazać do odelu, plik skryptowy usi być zapisany w edytorze i uruchoiony w oknie koend przed rozpoczęcie syulacji. Po uruchoieniu pliku w przestrzeni roboczej powstają zienne z aktualnyi wartościai, które przez nazwy zostaną przekazane do bloków odelu. Przy tak zorganizowany odelowaniu wyagane jest ciągłe operowanie dwoa plikai, co stwarza pewne niedogodności. Można ich uniknąć, przez uruchaianie syulacji koendą wpisaną w pliku skryptowy, a nie z poziou enu w oknie odelu. Służy do tego funkcja si( nazwa ), gdzie nazwa określa nazwę (bez rozszerzenia) pliku z odele. Taki sposób organizacji odelowania powoduje, że plik skryptowy staje się plikie nadrzędny, w który uruchoienie odelu syulacyjnego oże być traktowane jak uruchoienie procedury. Do pełnego potraktowania odelu syulacyjnego, stworzonego w środowisku graficzny Siulinka, jako procedury potrzebne jest jeszcze przesłanie wyników syulacji do pliku skryptowego. Do tego celu służy np. blok To Workspace, z biblioteki Sinks. Uożliwia on przesłanie wybranych wyników syulacji, odelowanego układu do przestrzeni roboczej. Wyniki te ogą ieć postać acierzy, w której w każdej kolunie znajdują się wartości jednego paraetru w kolejnych chwilach czasu. Macierz ta, o takiej nazwie, jaka wpisana jest w bloku To Workspace, dostępna jest w pliku skryptowy za polecenie wywołania funkcji si. W ty iejscu pliku skryptowego ożna używać licznych narzędzi Matlaba do graficznej prezentacji wyników syulacji
Paraetryzację istniejącego odelu rozpoczynay od otworzenia nowego okna w edytorze np. przez naciśniecie ikony na pasku zadań okna koend Matlaba W dalszej części instrukcji kolore niebieski będzie zaznaczona treść pliku skryptowego Po wpisaniu koentarza np. w postaci % Plik skryptowy nadzorujący syulacją odeli cw1 i cwf1 wpisujey zestaw poleceń, które definiują zbiór danych zadania. Do zbioru tego należą: % Dane odelu UN=230; %V napięcie wartość skuteczna f=50; %Hz częstotliwość napięcia fi=0; %rad faza początkowa napięcia % tax=t w postaci koentarza Następnie, sukcesywnie do potrzeb tworzyy zienne, których używay w blokach odelu syulacyjnego. % Paraetry odelu T=1/f; % s okres U=UN*2^0.5; % V aplituda napięcia oega=2*pi*f; % rad/s prędkość kątowa Jednocześnie przystępujey do paraetryzacji odelu tzn. zastępujey wartości w polach okien dialogowych nazwai ziennych W oknie dialogowy bloku SinWave dokonujey następujących zian Zaiast Aplituda 230*2^0.5 U Przesunięcie składowa stała 0 0 Częstotliwość 2*pi*50 oega Fazę 0 fi Wpisujey W oknie bloku Constant Zaiast Wpisujey 230*2^0.5 U W oknie bloku Gain Zaiast Wpisujey 2*pi*50 oega Możey również sparaetryzować inialne i aksyalne wartości osi X i Y w oscyloskopie XY. W oknie bloku XY Graph Zaiast Wpisujey -500 -U 500 U -500 -U 500 U Aby zastąpić ziennyi podane w postaci liczbowej paraetry syulacji w pliku skryptowy tworzyy dalsze zienne: tp=0; % s Czas początku syulacji tk=t; % s Czas końca syulacji dtax=1e-4; % s Maksyalny krok czasu dtin=1e-5; % s Minialny krok czasu dtpocz=1e-4; % s Początkowy krok czasu W oknie dialogowy Siulation Paraeters Zaiast Wpisujey 0.0 tp 0.02 tk Dodatkowo ożey ustalić, dotychczas określane autoatycznie, kroki całkowania Zaiast auto auto auto Wpisujey dtax dtin dtpocz
Aby uruchoić odel z pliku skryptowego wpisujey w ni polecenie wywołania funkcji si( cw1 ); %Wywołanie odelu syulacyjnego zapisanego w pliku cw1.dl Przesłanie wyników syulacji do pliku skryptowego wyaga odyfikacji odelu: Z biblioteki Sinks dodajey blok To Workspace. Z biblioteki Sources dodajey blok Clock zegar potrzebny do określenia chwilowych wartości czasu Z biblioteki Signal Routing dodajey blok Mux skupiający sygnały w wiązkę Do pliku skryptowego przesyłay trzy wyznaczone wielkości czas t, napięcie u (t) i ψ (t). Żeby wyniki te zostały uieszczone w kolunach acierzy ws, to nazwę ws trzeba wpisać w pierwszy polu okna bloku To Workspace. Okno to otwieray dwukrotnie klikając blok yszką. Ponadto w oknie ty w enu Save Forat wybieray Array. Następnie dwukrotnie klikay blok Mux i zwiększay liczbę wejść do 3. Po połączeniu nowych bloków odel wygląda jak na rys. 13. Rys. 13. Model sparaetryzowany, na podstawie odelu rys. 9. W podobny, ale prostszy sposób ożna sparaetryzować odel z rys. 12, w który użyto bloku Fcn. Oprócz takiej saej paraetryzacji bloku Sine Wave i XY Graph zaiast dodawania bloków Gain, Constant i Su wystarczy zienić forułę w bloku Fcn w postaci u*oega-u i tak sao dołożyć bloki To Workspace, Mux i Clock potrzebne do przekazania wyników do przestrzeni roboczej. Model ten pokazano na rys. 14. Rys. 14. Model sparaetryzowany, na podstawie odelu rys. 12. Ponieważ oba odele korzystają z tych saych paraetrów ogą być uruchaiane przez ten sa plik skryptowy. Wystarczy zodyfikować polecenie uruchoienia syulacji. Poniżej przedstawiono polecenia, które wpisane do pliku skryptowego uożliwiają wybór odelu z rys. 13. albo z rys. 14. fcn=1; %1 odel z blokie Fcn rys 14, 0 bez Fcn, rys 13 if fcn==1;si('cwf1'); %Wywołanie odelu sy. zapisanego w pliku cwf1.dl else; si('cw1'); end %Wywołanie odelu sy. zapisanego w pliku cw1.dl
Po sparaetryzowaniu odeli, uruchoienie w oknie koend pliku skryptowego z dotychczasową zawartością spowoduje utworzenie w przestrzeni roboczej acierzy trójkolunowej ws z wynikai syulacji. Wyiar powstałej acierzy ożna sprawdzić polecenie size(ws) wpisany w oknie koend. Do tworzenia wykresów 2D ożey użyć funkcji plot. Poniżej przedstawiono fragent skryptu, który przy użyciu tej funkcji przedstawia graficznie wyniki obliczeń syulacyjnych: w funkcji czasu rys 15 i trajektorię otrzyanych przebiegów rys 16. Dopisanie tego fragentu do pliku skryptowego kończy proces budowy prograu syulacyjnego, spełniającego wyagania określone na początku ćwiczenia, Progra ten składa się z nadrzędnego zarządzającego pliku skryptowego scw1. i dwóch sparaetryzowanych odeli syulacyjnych cw1.dl i cwf1.dl. Otrzyanie przez ćwiczących wykresów jak na rys 15 i 16. jest warunkie konieczny zaliczenia rozwiązania trzeciego zadania. %Przygotowanie paraetrów okien na wykresy oraz ustalenie rodzaju i wielkości czcionki set(0, 'DefaultAxesFontnae','Arial CE'); fosiz=11; %wielkośc fontów na wykresie należy dobrać doświadczalnie set(0, 'DefaultAxesFontSize', fosiz); set(0,'defaulttextfontnae','arial CE'); set(0,'defaulttextfontsize',fosiz); set(0,'defaultfigurecolor','w'); ekran = get(0, 'ScreenSize');%odczytanie rozdzielczości ekranu szer = ekran(3);wys = ekran(4); %paraetry okna z lewej strony ekranu oknol=[0 0.05*wys szer/2 0.85*wys] ; %paraetry okna z prawej strony ekranu oknop=[szer/2 0.05*wys szer/2 0.85*wys] ; %Wykresy w funkcji czasu if exist('hf1'); if ishandle(hf1);close(hf1); end;end; hf1=figure('position',oknol,'nae','wyniki syulacji w funkcji czasu','nubertitle','off'); %wykresy linią ciagłą plot(ws(:,1), ws(:,2),'r', ws(:,1), ws(:,3),'b') hold on %dorysowanie znaczków na liniach h1=plot(ws(10:20:end,1),ws(10:20:end,2),'linestyle','none','marker','o',... 'MarkerEdgeColor','r','MarkerFaceColor','w'); h2=plot(ws(10:20:end,1),ws(10:20:end,3),'linestyle','none','marker','s',... 'MarkerEdgeColor','b','MarkerFaceColor','w'); hold off legend([h1,h2],'napięcie','struień przeskalowany',1);%opis linii set(gca,'position',[0.1 0.07 0.85 0.9]);%okreslenie okna na wykres xlabel('czas, s'); ylabel('wyniki syulacji, V '); grid %Wykres trajektorii if exist('hf2');if ishandle(hf2);close(hf2); end;end; hf2=figure('position',oknop,'nae','trajektoria Psi(u)','nuberTitle','off'); plot(ws(:,2), ws(:,3),'b') xlabel('napięcie, V'); ylabel('struień przeskalowany, Vs '); grid set(gca,'dataaspectratio',[1 1 1]);
Rys.15. Wyniki syulacji w funkcji czasu Rys.16. Trajektoria ψ (u) Pytania kontrolne: 1. Od czego zależy wartość składowej stałej ψ ( t) = U sin( ωt + ϕ) dt? 2. Obliczyć składową stałą przebiegu ψ ( t) = U sin( ωt + ϕ) dt, gdy t 0 t 0 π ϕ = 3 3. Kiedy składowa stała przebiegu ψ ( t) = U sin( ωt + ϕ) dt jest równa zeru? t 0 4. Jakie są zalety, a jakie wady bloku Fcn? 5. Na czy polega paraetryzacja odelu syulacyjnego? 6. Oówić sposób przekazywania wartości paraetrów z pliku skryptowego do bloków odelu syulacyjnego. 7. Oówić sposób przekazywania wyników syulacji z odelu syulacyjnego do pliku skryptowego. 8. W jaki sposób ożna uruchoić obliczenia syulacyjne? 9. Gdzie definiuje się przedział czasu syulacji, wybiera etodę całkowania, ustala kroki czasowe? 10. Wyienić i oówić trzy główne części pliku skryptowego. Opracował Jan Szczypior Warszawa luty 2006