. Metody definicji odeli i syulcji. Rozwiązywnie równni różniczkowego odel grficzny Modele grficzne są plikcją równni + + c u ( u c) Uwg: Zienne, które ją yć użyte n schecie uszą yć zdefiniowne wcześniej. Schet z lokie cłkujący i ieżącą prezentcją wykresów w oddzielnych oknch N schecie zstosowno njprostsze loki cłkujące INTEGRAL_f orz kilk loków CSCOPE (0) 0 Initil Vl.u0 Finl Vl.u0+du (0) 0 Yin0 Y Buffer size00 (dorć) Rys. -. Wykresy w oddzielnych oknch (plik wzor.cos ) N schecie wykorzystno nstępujące zienne (definiowne n przykłd w skrypcie): do dni odpowiedzi skokowej ; 8; c ; u00; du; //skok jednostkowy 00; 00; //wr.początkowe do dni rekcji n dowolne wyuszenie skokowe ; 8; c ; u0; du; //skok wrtości n wejściu 0u0/c; 00; //wr.początkowe Poniewż lok CSCOPE nie utosklowni przed syulcją nleży ustwić odpowiednie zkresy skli. Ay cły przeieg syulcji ył widoczny, konieczne jest zdefiniownie odpowiednio dużego ufor dnych w loku. Po wypełnieniu ufor zwrtość ufor i okn jest ksown, y zierć nowe dne. Okno loku CSCOPE otwier się utotycznie po uruchoieniu syulcji. Schet z lokie cłkujący i ieżącą prezentcją wykresów we wspólny oknie N schecie (Rys. -) wykorzystno ty rze ok cłkujący INTEGRAL_, który zwier w soie iędzy innyi funkcję nsyceni. Blok Scope z jedny wejście sygnłowy oże przyjowć również wektor sygnłów, tworzony z poocą loku Mu. Wykresy są rysowne w jedny ukłdzie współrzędnych, różnyi kolori (kolejno: lck, green, red) wykres Yin 0 Y Buffer size000 (dorć) Rys. -. Wykresy w jedny oknie (plik wzor.cos ) Zist loku Scope ożn użyć loku CMScope (Rys. -3), który pozwl określić liczę sygnłów wejściowych, które zostną wyświetlone n oddzielnych wykresch (kolejno od góry). Pretry dl poszczególnych wykresów są podwne w postci wektorów, n przykłd wektor wrtości inilnych, wektor wrtości ksylnych. Rozir ufor dnych dotyczy suy wszystkich sygnłów. nlogicznie jk funkcj suplot
wykres(gór) Input ports size Yin vector 0 - - Y vector Refresh period 30 30 30 Buffer size000 (dorć) Rys. -3. Oddzielne wykresy w jedny oknie (plik wzor.cos ) 3 Schet z lokie cłkujący, ieżącą prezentcją wykresów i rejestrcją dnych Przeieg syulcji ożn rejestrowć nstępnie odtworzyć go z poocą funkcji plot. Do rejestrcji ożn wykorzystć lok To workspce (Rys. -4), w który nleży zdefiniowć nzwę ziennej. Fort dnych zwsze postć struktury zwierjącej wektor wrtości ziennej i wektor czsu. plot(t.tie, t.vlues) Size of uffer8 Scil vrile net Rys. -4. Bieżąc prezentcj wykresu i rejestrcj dnych (plik wzorc.cos )
3. Przykłd rozwiązywni równni różniczkowego nieliniowego 0 ) ( + w w ) ( Rys. -5. Relizcj odelu z wykorzystnie loków funkcyjnych (Mtheticl epression) Rys. -6. Relizcj odelu n zie loków funkcyjnych z wykorzystnie ich wielowyirowości.3 Przykłd rozwiązywni ukłdów równń różniczkowych 3 + + 0 0 ) ( ) ( Rys. -7. Relizcj odelu nieliniowego ukłdu równń
.4 Rozwiązywnie równni różniczkowego odel grficzny i skrypt 4 Wygenerownie odpowiedzi ukłdu + + c u n wyuszenie skokowe przy różnych pretrch ukłdu. Model grficzny i skrypt relizujący progr dń. tytul'wplyw pretru '; odel 'wzor.cos'; lodscicoslis(); iportxcosdigr(odel); scs_.props.tf00; Info list(); Rys. -8. Relizcj równni rzędu ( wzor.cos ) //wczytj ilioteki //wczytj odel (tworzy zienną scs_) //czs trwni syulcji (zist czsu z odelu) //zienn dl scicos_siulte kolor ['red','green','lue','cyn','gent','yellow']; c ; t_ [ 4 8]; //tlic pretru isize(t_,); //ilość pretrów (do pętli) u0; du; //pretry skoku (w loku Step) 0u0/c; //wr.początkowy (0) figure(); set(gc(),"uto_cler","off"), grid(), ylel(strct([tytul,' - '])) figure(); set(gc(),"uto_cler","off"), grid(), ylel(strct([tytul,' - '])) for i:i for kolor(i); t_(i); Info scicos_siulte(scs_,info); figure();plot(.tie,.vlues,for) figure();plot(.tie,.vlues,for) //jw end //czs syulcji: scs_.props.tf //dne z loków "To workspce" Wykresy plot są sklowne utotycznie. Uwg nleży zdeklrowć odpowiednio dużą wrtość ufor w lokch To workspce. Zin skli: czs.tie( size(.tie,) ); //odczytnie czsu syulcji figure(); isget("current_es"); is.es_visile ["on","on","on"]; is.dt_ounds; //odczytnie skli [lewy, dolny; prwy, górny] (,)0; (,)czs; //czs od 0 do czsu trwni syulcji is.dt_ounds; //podstwienie skli 4
.5 Grupownie i pretryzownie (lokownie, skownie) Model grficzny po wykonniu opercji Edit/Region to Superlock Rys. -9. Model ze spretryzowny lokie i zwrtość tego loku ( wzor.cos ) Pretryzownie loku Superlock (enu loku Superlock sk/crete../custoize ) cdn. 5
.6 Równni stnu i trnsitncje 5 Bdnie liniowych ukłdów dyniki ożn zrelizowć wykorzystując przedstwienie tego odeli w postci równń stnu lu trnsitncji. Przedstwione przykłdy są powtórzenie dń równni różniczkowego rzędu, zrelizownych w punkcie. z poocą schetu z loki cłkującyi. Bdne równnie + + c u zostło przeksztłcone do postci równń stnu i trnsitncji: + + c u s + s+ u c c + u 6 0 c + u 0 Bloki n schetch Pierwszy sposó relizcji zdni poleg n utworzeniu schetu z wykorzystnie loków przystosownych do definicji odeli w postci równń stnu (lok CLSS) lu trnsitncji (lok CLR). N schecie (Rys. -0) przedstwiono dw wrinty relizcji zdni wyznczeni rekcji ukłdu n skok jednostkowy, czyli zin wrtości od zerowych wrunków początkowych. Pretry loków zostły zdefiniowne z poocą ziennych wygenerownych wcześniej z poocą skryptu. Initil Vl.0 Finl Vldu A, B, C, D, [0;0] Nu,Den Rys. -0. Grficzn relizcj odelu z poocą równń stnu i trnsitncji do syulcji od zerowego stnu ustlonego ; 8; c ; du; //definicj cierzy A[0, ; -c/, -/]; B[0; /]; C[, 0; 0, ]; D[0; 0]; //definicj trnsitncji spoly(0,'s'); Nu; Den*s^+*s+c; /// skok n wejściu //zienn wieloinu //licznik // inownik W loku równń stnu wykorzystno zienne cierzowe definiujące równni stnu A+ Bu orz równni wyjściowe y C+ Du. Równni wyjściowe są jedyny sposoe przekzni wyników syulcji n zewnątrz loku. Blok równń stnu wyg podni zestwu wrunków początkowych dokłdnie dl wszystkich ziennych stnu fort podni jest dość dowolny, np. zerowe wrunki początkowe n schecie powyżej ożn podć jko [0;0] lu [0,0] lu 0,0. Ten s odel definiowny w loku trnsitncji wykorzystuje zienne zwierjące wieloiny licznik i inownik. Uzyskne wyniki syulcji (wyświetlne n wykresch) nie zleżą od sposou zdefiniowni odelu, z ty, że n wyjściu loku równń stnu ożn udostępnić wektor sygnłów (w przedstwiony przykłdzie wyświetlne są dw sygnły i, co odpowid ziennej i jej pochodnej). Kolejny schet (Rys. -) przedstwi sposó relizcji dni dowolnego skoku, to znczy dowoln zin (du) od dowolnego stnu równowgi (u0). W przypdku zstosowni loku równń stnu n wejście tego loku ożn podć zkłócenie skokowe od dowolnej wrtości początkowej w pretrch loku ustwić wektor odpowiednich wrtości początkowych oliczony n przykłd w skrypcie z wykorzystnie opercji cierzowych (zienn X0). Uzysknie tego sego wyniku z poocą loku trnsitncji ożn zrelizowć przez złożenie dwóch sygnłów: rekcji odelu (trnsitncji) n wyuszenie skokowe (du) od wrtości 0 orz wrtości początkowej odpowidjącej stnowi równowgi (zienn 0). W dnich dyniki odelu opisnego trnsitncją zzwyczj nie stosuje się tego przesunięci widoo, że włsności ukłdu liniowego nie zleżą od punktu prcy (ożn
więc dć ukłd od zerowych wrunków początkowych). Przesunięcie 0 jest wykorzystywne w syulcjch do przedstwieni wyników w odpowiedniej skli wrtości. Initil Vl.u0 Finl Vl u0+du Initil Vl.0 Finl Vl du Rys. -. Grficzn relizcj odelu z poocą równń stnu i trnsitncji do syulcji od dowolnego stnu ustlonego Funkcje w skryptch A, B, C, D, X0 Nu,Den ; 8; c ; u0; du; //definicj cierzy A[0, ; -c/, -/]; B[0; /]; C[, 0; 0, ]; D[0; 0]; U0[u0]; // skok n wejściu //dowoln w. pocz. X0-inv(A)*B*U0; //wektor wr.pocz. //definicj trnsitncji spoly(0,'s'); //zienn wieloinu Nu; //licznik Den*s^+*s+c; // inownik 0u0/c; //stn początkowy dl u0 Definicj odeli z poocą schetów jest rdzo uniwerslny sposoe. Jednk większość dń ożn zrelizowć zncznie szyciej w skrypcie z poocą funkcji. Dotyczy to szczególnie tk podstwowego dni jk generowni odpowiedzi skokowych i ipulsowych odelu. Przedstwiony skrypt relizuje definicję odeli z poocą funkcji csi, wygenerownie odpowiedzi skokowych i nrysownie przeiegów. Pierwsze dw odele ją postć równń stnu przy zerowych i niezerowych wrunkch początkowych. Trzeci i czwrty odel różni się tylko sposoe podwni pretrów dl funkcji definiującej. Ogrniczenie etody jest ożliwość generowni odpowiedzi tylko dl stndrdowego skoku jednostkowego, to znczy w chwili 0 od poziou 0 skok o wrtość. ; 8; c ; u0; du; //wrtość początkow i skok n wejściu //definicj cierzy A[0, ; -c/, -/]; B[0; /]; C[, 0; 0, ]; D[0; 0]; U0[u0]; //dowoln wrtość początkow X0-inv(A)*B*U0; //wektor wr.początkowych dl U0 odelasyslin('c',a,b,c); //zerowe wrunki początkowe odelasyslin('c',a,b,c,d,x0); //dowolne wrunki początkowe //definicj trnsitncji spoly(0,'s'); //def.ziennej wieloinu odeltsyslin('c', /(*s^+*s+c)); //sposo definicji odeltsyslin('c',, *s^+*s+c); //sposó definicji //dni t[0::00]; wy_odelacsi('step',t,odela); wy_odelacsi('step',t,odela); wy_odeltcsi('step',t,odelt); wy_odeltcsi('step',t,odelt); suplot(4,,); plot(t,wy_odela); grid(); ylel(', (odela)'); suplot(4,,); plot(t,wy_odela); grid(); ylel(', (odela)'); suplot(4,,3); plot(t,wy_odelt); grid(); ylel(' (odelt)'); suplot(4,,4); plot(t,wy_odelt); grid(); ylel(' (odelt)'); 7