Programování v Mathematice - Cvičení 10

Podobné dokumenty
WOLFRAM MATHEMATICA ANEB MATEMATICKÉ FUNKCE

Grafy funkcí I - 2 D grafy

Extrémy funkce vázané podmínkou

PŘECHODOVÝ DĚJ VE STEJNOSMĚRNÉM EL. OBVODU zapnutí a vypnutí sériového RC členu ke zdroji stejnosměrného napětí

ELEKTRICKÝ PROUD ELEKTRICKÝ ODPOR (REZISTANCE) REZISTIVITA

Číslicové a analogové obvody

Postup řešení: Výkon na hnacích kolech se stanoví podle vztahu: = [W] (SV1.1)

Popis metod CLIDATA-GIS. Martin Stříž

Nelineární obvody. V nelineárních obvodech však platí Kirchhoffovy zákony.

Statika. fn,n+1 F = N n,n+1

Software Mathematica na střední škole. Jakub Šerých,

Obr. 9.1: Elektrické pole ve vodiči je nulové

1. Obecná struktura pohonu s napěťovým střídačem

Ekvivalence obvodových prvků. sériové řazení společný proud napětí na jednotlivých rezistorech se sčítá

L Oj [km] R j [m] l j [m] 1 0, , , , , , , , , ,0 600

Czech Technical University in Prague Faculty of Electrical Engineering. Fakulta elektrotechnická. České vysoké učení technické v Praze

20ZEKT: přednáška č. 3

Obvodové prvky a jejich

KMITÁNÍ PRUŽINY. Pomůcky: Postup: Jaroslav Reichl, LabQuest, sonda siloměr, těleso kmitající na pružině

Aplikovaná numerická matematika

+ 2y. a y = 1 x 2. du x = nxn 1 f(u) 2x n 3 yf (u)

Elektrický proud v kovech Odpor vodiče, Ohmův zákon Kirchhoffovy zákony, Spojování rezistorů Práce a výkon elektrického proudu

D C A C. Otázka 1. Kolik z následujících matic je singulární? A. 0 B. 1 C. 2 D. 3

PŘECHODOVÝ JEV V RC OBVODU

Únosnost kompozitních konstrukcí

Derivace funkce. Přednáška MATEMATIKA č Jiří Neubauer

3.1. Newtonovy zákony jsou základní zákony klasické (Newtonovy) mechaniky

Soustavy lineárních diferenciálních rovnic I. řádu s konstantními koeficienty

Michael Valášek Vedoucí práce: doc. Ing. Václav Bauma, CSc.

11. přednáška 10. prosince Kapitola 3. Úvod do teorie diferenciálních rovnic. Obyčejná diferenciální rovnice řádu n (ODR řádu n) je vztah

Ing. Ladislav Musil ČVUT FEL v Praze, Katedra Elektroenergetiky, Technická 2, Praha 6 Tel.: musill@fel.cvut.

Kapitola 10: Diferenciální rovnice 1/14

Kirchhoffovy zákony

METODICKÝ LIST K TECHNICKÉMU KROUŽKU:

Semestrální písemka BMA3 - termín varianta A13 vzorové řešení

Matematika I (KX001) Užití derivace v geometrii, ve fyzice 3. října f (x 0 ) (x x 0) Je-li f (x 0 ) = 0, tečna: x = 3, normála: y = 0

KINEMATIKA HMOTNÉHO BODU. Mgr. Jan Ptáčník - GJVJ - Fyzika - Mechanika - 1. ročník

15. Elektrický proud v kovech, obvody stejnosměrného elektrického proudu

30. listopadu Derivace. VŠB-TU Ostrava. Dostupné: s1a64/cd/index.htm.

Zvyšující DC-DC měnič

ANTAGONISTICKE HRY 172

ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE

7. Funkce jedné reálné proměnné, základní pojmy

2. Kinematika bodu a tělesa

Základní vztahy v elektrických

Numerické řešení diferenciálních rovnic

PELTIERŮV ČLÁNEK. Materiály pro elektrotechniku. Univerzita Pardubice Fakulta elektrotechniky a informatiky. Laboratorní cvičení č.

transformace je posunutí plus lineární transformace má svou matici vzhledem k homogenním souřadnicím [1]

Funkce a její vlastnosti

Matematika I (KMI/5MAT1)

Dodatek 2: Funkce dvou proměnných 1/9

Budeme hledat řešení y(x) okrajové úlohy pro diferenciální rovnici druhého řádu v samoadjungovaném tvaru na intervalu a, b : 2 ) y i p i+ 1

INTERNETOVÉ ZKOUŠKY NANEČISTO - VŠE: UKÁZKOVÁ PRÁCE

Proč funguje Clemův motor

Seznámíte se s principem integrace metodou per partes a se základními typy integrálů, které lze touto metodou vypočítat.

Podívejme se na ně z pohledu řešení elektrických obvodů a vysvětleme si je na jednoduchých praktických příkladech.

ATMOSFÉRICKÝ TLAK A NADMOŘSKÁ VÝŠKA

Cvičení 11. B1B14ZEL1 / Základy elektrotechnického inženýrství

ZÁKLADY ELEKTROTECHNIKY pro OPT

Cílem této kapitoly je uvedení pojmu matice a jejich speciálních typů. Čtenář se seznámí se základními vlastnostmi matic a s operacemi s maticemi

( + ) ( ) f x x f x. x bude zmenšovat nekonečně přesný. = derivace funkce f v bodě x. nazýváme ji derivací funkce f v bodě x. - náš základní zápis

Funkce a lineární funkce pro studijní obory

Mechanika II.A Třetí domácí úkol


Dynamika soustav hmotných bodů

12. Elektrotechnika 1 Stejnosměrné obvody Kirchhoffovy zákony

Extrémy funkce dvou proměnných

Fakt. Každou soustavu n lineárních ODR řádů n i lze eliminací převést ekvivalentně na jednu lineární ODR

Funkce - pro třídu 1EB

Okruhy, pojmy a průvodce přípravou na semestrální zkoušku v otázkách. Mechanika

Obsah. Spotřeba bateriových elektrických vozidel - simulační software, str. 1/9

příkladů do cvičení. V textu se objeví i pár detailů, které jsem nestihl (na které jsem zapomněl) a(b u) = (ab) u, u + ( u) = 0 = ( u) + u.

1.1 Existence a jednoznačnost řešení. Příklad 1.1: [M2-P1] diferenciální rovnice (DR) řádu n: speciálně nás budou zajímat rovnice typu

Elektromechanický oscilátor

VYBRANÉ STATĚ Z PROCESNÍHO INŢENÝRSTVÍ cvičení 9

Grafy III. ContourPlot. Parametry funkce ContourPlot

geometrická (trigonometrická, nebo goniometrická) metoda (podstata, vhodnost)

Střední průmyslová škola elektrotechnická a informačních technologií Brno

Základní elektronické obvody

Diferenciální rovnice

4. Statika základní pojmy a základy rovnováhy sil


Polynomy a interpolace text neobsahuje přesné matematické definice, pouze jejich vysvětlení

Úloha 5 Řízení teplovzdušného modelu TVM pomocí PC a mikropočítačové jednotky CTRL

CVIČNÝ TEST 24. OBSAH I. Cvičný test 2. Mgr. Kateřina Nováková. II. Autorské řešení 6 III. Klíč 13 IV. Záznamový list 15

Téma 1: Elektrostatika I - Elektrický náboj Kapitola 22, str

1 Polynomiální interpolace

1 Rozdělení mechaniky a její náplň

TECHNICKÁ UNIVERZITA V LIBERCI

VÝKON ELEKTRICKÉHO PROUDU, PŘÍKON

8.3). S ohledem na jednoduchost a názornost je výhodné seznámit se s touto Základní pojmy a vztahy. Definice

ODR metody Runge-Kutta

6. DIFERENCIÁLNÍ POČET FUNKCE VÍCE PROMĚNNÝCH

Příklad 1: Řešení jednoosé napjatosti

Fyzikální praktikum II

VYBRANÉ PARTIE Z NUMERICKÉ MATEMATIKY

Funkce zadané implicitně

6 Algebra blokových schémat

Matematika 1 Jiˇr ı Fiˇser 19. z aˇr ı 2016 Jiˇr ı Fiˇser (KMA, PˇrF UP Olomouc) KMA MAT1 19. z aˇr ı / 19

ELEKTŘINA A MAGNETIZMUS Řešené úlohy a postupy: Posuvný proud a Poyntingův vektor

Transkript:

Evropský sociální fond Praha & EU : Investujeme do vaší budoucnosti Programování v Mathematice - Cvičení 10 Ing. Ladislav Musil, Ph.D., doc. Ing. Jan Kyncl ČVUT v Praze BI - PMA Zimní semestr 2011 Ladislav Musil and Jan Kyncl 2011

2 Cv10.nb Příklad naprogramování fyzikální úlohy a zpracování dat H ciste kvuli opakovanemu spousteni notebooku L $HistoryLength = 3; H zakladni konstanty L g = 9.81; km = 1000.; mm = 0.001; kw = 1000.; Ah = 3600.; H konstanty ve vypoctu L mred = 3500; ShydrOdpor = 4; Dchar = 2; cx = 0.65; ramenovalivehoodporu = 2.5 mm; rkola = 300 mm; teplota = 20; aplus = 0.15; aminus = 0.0525; H hustota vzduchu v zavislosti na teplote L ro@t_d := 341. T ; H zadavani rychlosti, cil je mit funkci pozadovanarychlost=vz=fhx=polohal L vmax = 50 3.6 ; datrychlost = 880, 0.2<, 8600, 0.3<, 81500, 0.5<, 83700, 0.8<, 83800, 0.2<, 88500, 0.9<, 811 000, 1<, 813 000, 0.2<, 814 500, 0.3<, 825 000, 0.3<< ê. 8a_, b_< 8a, b vmax<; vz = Interpolation@datRychlost, InterpolationOrder 0D;H vz je tady funkce polohy, tedy vz=vzhxl, zobrazeni o kousek niz, je po usecich konstantni, to dela InterpolationOrder 0 L H zadavani nadmorske vysky, vysku znacime h, zde ve tvaru 8x=poloha,h=vyska<, polohu znacime x L datvyska = 880, 200<, 8500, 250<, 81000, 220<, 83000, 280<, 83200, 270<, 85000, 400<, 88000, 420<, 89000, 270<, 811 000, 400<, 812 500, 380<, 815 000, 400<, 825 000, 400<<; h = Interpolation@datVyska, InterpolationOrder 1D; H h je tady funkce polohy, tedy h=hhxl, zobrazeni o kousek niz, je po usecich primkova, to dela InterpolationOrder 1 L xmax = Union@Flatten@Take@, 8 2<D & ê@ 8datRychlost, datvyska<d êê Last; H Pozadovanou rychlost mame jako interpolaci nulteho radu, tedy jako konstantni po usecich, kdezto nadmorskou vysku jako interpolaci prvniho radu, takze to dela kopce L plzad = PlotAvz@xD, 8x, 0, xmax<, AxesOrigin 80, 0<, AxesLabel 9"x @md", "v @m.s 1 D"=, PlotStyle 8Blue, Thickness@0.006D<E; plh = Plot@h@xD, 8x, 0, xmax<, AxesOrigin 80, 0<, AxesLabel 8"x @md", "h @md"<, PlotStyle 8Blue, Thickness@0.006D<D;

Cv10.nb 3 H pomocna funkce pro vypocet kinematiky, jde jen o udelani "hladkeho If: L", v podstate jde o to, aby je li rychlost HvL mensi, nez rychlost pozadovana HvzadanaL, je zrychleni az =aplus, v opacnem az =aminus, tedy vlastne regulator L vyr@x_d := c + b x; resbc = Solve@8vyr@1D aplus, vyr@ 1D aminus<d@@1dd; ka = 10; az@v_, vzadana_d := c + b Tanh@ka Hvzadana vld ê. resbc; H protoze skokova zmena rychlosti je nefyzikalni a tedy se musi nutne pridat nejake fyzikalne mozne pravidlo, jak menit rychlost podle nefyzikalni hopzadavku. Zde je to reseno zavedenim max kladneho a max zaporneho zrychleni, ukazano pro vzadana=50ms 1 L PlotAaz@v, 50D, 8v, 40, 60<, AxesLabel 9"v @m.s 1 D", "a @m.s 2 D"=, PlotStyle 8Blue, Thickness@0.006D<E; H podstata úpravy: prijali jsme ze zrychleni je funkci aktualni a pozadovane rychlosti a napsali jsme kinematicke rovnice L rcerychlost = 8v'@tD az@v@td, vz@x@tddd, v@0d 0, x'@td v@td, x@0d 0<; H potrebujeme konec casoveho intervalu, vypocitame ho "jako kdybychom jeli skutecne pozadovanou rychlosti", je to vlastne po usecich vypocitane "t=xêv" a secteno L tmax = Plus @@ DropBPartition@datRychlost, 2, 1D ê. 88x1_, v1_<, 8x2_, v2_<< H jen vyreseni kinematickych diferenciálních rovnic, MaxStepSize 0.0001tmax je jen aby num. metoda nelezla z oboru iksu, kde je definovana pozadovana rychlost vz L res = NDSolveArceRychlost, 8x@tD, x'@td, v@td, v'@td<, 8t, 0, tmax<, SolveDelayed True, MaxStepSize 0.0001 tmax, MaxSteps 10 6 E@@1DD; x2 x1, 1F; v1 H vypocteme, jak dlouho jsme jeli, kdyz jsme jeli, jak jsme jeli, abychom dojeli do xmax,tedy s danou zavislosti zrychleni na rychlosti pozadovane a rychlosti skutecne z kinematickych diferenciálních rovnic L tm = t ê. FindRoot@xmax == x@td ê. res, 8t, tmax 100<D; H ukazka jaka byla pozadovana a skutecna rychlost L plvys = ParametricPlotA8x@tD, v@td< ê. res, 8t, 0, tm<, AspectRatio 0.8, AxesLabel 9"x @md", "v @m.s 1 D"=, PlotStyle 8Black, Thickness@0.005D<E; Show@plzad, plvys, PlotRange 880, xmax<, Automatic<D; H vypocet vykonu Hpo radel vykonu odporu vzduchu, potrebneho na jizdu do kopce, vykonu pro zrychleni, vykonu treni kolecek a z toho vyjadreneho celkoveho mechanickeho vykonu potrebneho na to aby to jelo, jak vypocitala kinematika L PDrug@t_D := 0.5 ro@teplotad v@td 2 ShydrOdpor cx v@td ê. res; Pstoupani@t_D := mred g h'@x@tdd v@td ê. res; Psetrvacny@t_D := mred v'@td v@td ê. res; Ptreci@t_D := mred g ramenovalivehoodporu 1 v@td ê. res; rkola 1 + h'@x@tdd 2 Plot@Evaluate@0.001 8PDrug@tD, Pstoupani@tD, Psetrvacny@tD, Ptreci@tD<D, 8t, 0, tm<, PlotRange All, AxesLabel 8"t @sd", "P @kwd"<d; Psum@t_D = Plus @@ 8PDrug@tD, Pstoupani@tD, Psetrvacny@tD, Ptreci@tD<; Plot@Psum@tD, 8t, 0, tm<, PlotRange All, AxesLabel 8"t @sd", "P @W"<D;

4 Cv10.nb plvys = ParametricPlot@8x@tD, Psum@tD< ê. res, 8t, 0, tm<, AspectRatio 0.8, AxesLabel 8"x @md", "P @WD"<, PlotStyle 8Black, Thickness@0.005D<, PlotRange AllD; plvys = ParametricPlot@8x@tD, h@x@tdd< ê. res, 8t, 0, tm<, AspectRatio 0.8, AxesLabel 8"x @md", "h @md"<, PlotStyle 8Black, Thickness@0.005D<, PlotRange AllD; c1aku = 42 Ah; unom1aku = 12.4; csupcap = 17.8; RiSupCap = 0.065; UmaxSupCap = 680.; naku = 24;H mineno seriovne v jedne z nparalenichaku vetvi L PFCmax = 40. kw; nparalenichaku = 2; PdobMax = 15 kw; Post = 500.; H celkovy maximalni naboj ve vsech akumulátorech L Qmax = nparalenichaku c1aku; H definice rizeni FuelCell L UFCStart = 0.9 UmaxSupCap; PFCmin = 0.2 PFCmax; UFCmax = 0.6 UmaxSupCap; datucpfc = 88 500, PFCmax<, 8UFCmax, PFCmax<, 8UFCStart, PFCmin<, 8UFCStart + 1, 0<, 81000, 0<<; pfc = Interpolation@datUcPfc, InterpolationOrder 1D; Plot@8pFC@ucD, PFCmax, PFCmin<, 8uc, 0, UmaxSupCap<, PlotRange All, PlotStyle 88Thick, Black<, 8Blue, Opacity@0.3D<, Red<, AxesLabel 8"uc HVL", "PFC HWL"<, PlotLabel "Strategie FC", Ticks 888UFCmax, "UFCmax"<, 8UFCStart, "UFCStart"<<, 88PFCmax, "PFCmax"<, 8PFCmin, "PFCmin"<<<, GridLines 88UFCmax<, None<D; H pro vypocty el. obvodu potrebujeme znat zavislost vnitrniho odporu akumulátoru, což jsou funkce Ri1Aku@q_D a U1Aku@q_D L Ri1Aku@q_D := 0.015 ExpB 2.5 q Qmax Qmax F; naku RiAku@q_D := nparalenichaku Ri1Aku@qD; Plot@RiAku@qD, 8q, 0, Qmax<, PlotRange AllD; q U1Aku@q_D := 12.4 TanhB4.5 Qmax F ; UAku@q_D := naku U1Aku@qD; Plot@UAku@qD, 8q, 0, Qmax<, PlotRange AllD; H napeti prechodu diody, zada se jednou, dioda se v dalsim reprezentuje bud zdrojem napeti, nebo vypnuty vypinac L udd = 1;

Cv10.nb 5 H funkce dqduc si bere list 8naboj aku, napeti na kondenzátoru, dobijeci vykon akumulátoru,vykon ze sbernice<. funkce vraci 8dq,duc<, coz nejsou diferencilay, ale derivace naboje a kondenzátoru podle casu L H jelikoz diodu uvazujeme jako zdroj napeti a vypinac, mame dve nahradni schemata, pro stav "rozpojeno" obr. 2 a pro stav "spojeno" obr. 3 L ClearAll@dqducD; dqduc@8q_, uc_, pdob_, psbernice_<d := ModuleB8id, deruc, derq, isbernice, ic, riq, uaq, uq, idob, idrozpojeno, derqrozp, derucrozp, idspojeno, iaspojeno, derqspoj, derucspoj, spojeno, dq, duc, risc = RiSupCap, icspoj<, H ze zadaneho vykonu ze sbernice vypocteme proud isbernice L isbernice = uc 4 psbernice risc + uc 2 2 risc ; H napocteme si parametry nahradniho schematu akumulatoru L uq = UAku@qD; riq = RiAku@qD; H vypocteme dobijeci proud idrozpojeno z podminky:pdob==idrozpojeno Huq+riq idrozpojenol L uq + 4 pdob riq + uq 2 idrozpojeno = ; 2 riq H vypocteme derivaci naboje v akumulatoru a derivaci napeti na kondenzatoru L 1 derqrozp = idrozpojeno; derucrozp = csupcap isbernice; H pro stav spojeno spočteme dobijeci proud z podminky pdob Hudd+ucL idspojeno L pdob idspojeno = uc + udd ; H iaspojeno napeti na riq L 1 iaspojeno = H idspojeno risc + isbernice risc uc udd + uql; riq + risc H derivace naboje, minus protoze proud tece "ven" L derqspoj = iaspojeno; H do kondenzátoru tece proud iaspojeno+idspojeno isbernice a odtud derivace napeti kondenzátoru ve stavu "spojeno" L icspoj = HiAspojeno + idspojeno isbernicel; 1 derucspoj = csupcap icspoj; H tady je uz jen reseno vetveni, podminka spojeni je na diode vetsi nez udd L spojeno = uq > uc + udd; dq = If@spojeno, derqspoj, derqrozpd; duc = If@spojeno, derucspoj, derucrozpd; 8dq, duc<f; H zkouska jak to funguje L dqduc@80.6 Qmax, 290, 15 000., 20 000<D 8 9.25071, 0.520717<

6 Cv10.nb H definice ucinnosti palivoveho clanku L ηfc@pfc_d := 0.5 1 0.3 pfc 0.8 PFCmax PFCmax ; Plot@ηFC@pfcD, 8pfc, 0, PFCmax<, AxesLabel 8"PFC HWL", "ηpfc H L"<, PlotStyle Thick, AxesOrigin > 80, 0<D; H definice icinnosti menice pro dobijeni baterii L pdob 0.8 PdobMax ηdob@pdob_d := 0.95 1 0.3 ; PdobMax Plot@ηdob@pfcD, 8pfc, 0, PdobMax<, AxesLabel 8"Pdob HWL", "ηdob H L"<, PlotStyle Thick, AxesOrigin > 80, 0<D; H definice ucinnosti soustavy motor+menic, Pmech max zavedeno jen aby se mi to lip psalo, If rika, ze muze byt jina pro rekuperaci a jina pro smer vykonu ven L PmechMax = 150 kw; ηm@pmech_d := IfBpmech 0, 2 2 pmech 0.8 PmechMax pmech + 0.8 PmechMax 0.95 1 0.3, 0.85 1 0.3 F; PmechMax PmechMax Plot@ηM@pfcD, 8pfc, PmechMax, PmechMax<, AxesLabel 8"Pmech HWL", "ηm H L"<, PlotStyle Thick, AxesOrigin > 80, 0<D; H strategie dobijeni akumulatoru, tady se dobiji stale, pokud neni aku plna, mozna bude trochu jina, ale nemela by byt fci vice promennych L Pdob@q_, uc_d := Module@8udobMax<, udobmax = UAku@QmaxD; If@And@q < Qmax, uc > udobmaxd, PdobMax, 0DD; 2 2

Cv10.nb 7 H funkce derstav si bere dvojici 8t=cas,stavovy vektor< a vraci derivaci stavoveho vektoru podle casu, q naboj v akumulatoru, uc napeti kondenzatoru, dalsi promenne jsou energie: Wsb energie do sbernice Hspojena s kondem, vykon psbernicell, Wdob energie na dobijeni aku Hvystup z menice do akul, Wfc energie z palivoveho clanku, Wzmar energie marena v odporu, kdyz bychom mohli rekuperovat, ale baterka a kondenzátor vice nepojmou, Wpoh je energie do soustavy motor+menic, Wdobat je energie do nabijeciho menice, Wost energie spotrebovana na ostatni spotrebu Hvse krome pohonul, Wmech je energie mechanicka pohonu, WdoFC je primarni energie vstoupivsi do palivoveho clanku L ClearAll@derstavD; derstav@ 8t_, 8q_, uc_, Wsb_, Wdob_, Wfc_, Wzmar_, Wpoh_, Wdobat_, Wost_, Wmech_, WdoFC_<<D := ModuleB8Pmech, pdob, ppoh, pdobaterii, pdofc, podminakamareni, pdany, pfc, psbernice, pmarim, podminkasamasbernice<, H vypocteme si mechanicky vykon, dobijeci vykon, vykon do pohonu a vykon do baterii L Pmech Pmech = Psum@tD; pdob = Pdob@q, ucd; ppoh = ηm@pmechd ; pdobaterii = pdob ηdob@pdobd ; H pdany je vysledny vykon sbernice, kdyby psbernice byla 0 a pfc 0, tedy kdyby se nemenilo napeti na kondenzatoru a palivovy clanek nejel L pdany = Post + ppoh + pdobaterii; H kdyby toto vychazelo zaporne, znamena to, ze mame prebytek vykonu, ktery nemame kam udat, podminkamareni nám rika, jestli takovy stav mam L podminakamareni = And@pDany 0, uc UmaxSupCapD; H plati li podminakamareni, nastavime pfc=0;psbernice=0;pmarim=pdany, pokud neplati, nastavim pmarim=0;pfc=pfc@ucd;psbernice=pdany pfc L If@podminakaMareni, pfc = 0; psbernice = 0; pmarim = pdany;, pmarim = 0; pfc = pfc@ucd; psbernice = pdany pfcd; H z vysledneho nastaveneho pfc vypoctu pdofc L pfc pdofc := ηfc@pfcd ; H vektor, ktery funkce vraci, tedy vypoctene derivace naboje, derivace uc a po rade vypoctene prislusne vykony L 8Sequence @@ dqduc@8q, uc, pdob, psbernice<d, psbernice, pdob, pfc, pmarim, ppoh, pdobaterii, Post, Pmech, pdofc<f; H zadani bezrozmerneho stavu napeti na kondu a stavu nabiti akumulátoru L socuc0 = 1; soc0 = 1; H vypocteni startovaciho stavu, energie na zacatku brany nulove L uc0 = socuc0 UmaxSupCap; q0 = Qmax soc0; stavstart = 8q0,uc0,0,0,0,0,0,0,0,0,0<; H nalezeni nejmensiho potrebneho casoveho kroku numericke metody L dv = 8 1, 1<.H8Min@ D, Max@ D< &@HLast ê@ datrychlostll; t = 0.002 dv Max@Abs@8aminus, aplus<dd ;

8 Cv10.nb n = RoundB tm t F; EuSt@stavTime : 8t_, _List<D := stavtime + t 81, derstav@stavtimed<; reseu = Timing@NestList@EuSt, 80, stavstart<, ndd; Print@"trvalo to ", reseu@@1dd, " s"d trvalo to 4.141 s rv = reseu@@2dd; ucecka = rv ê. 8t_, 8q_, uc_, Wsb_, Wdob_, Wfc_, Wzmar_, Wpoh_, Wdobat_, Wost_, Wmech_, WdoFC_<< uc :t, UmaxSupCap >; pluc = ListPlot@ucecka, PlotRange All, AxesLabel 8"t HsL", "souc H L"<, PlotStyle 8Hue@0.63D, PointSize@0.005D<, GridLines Automatic, AxesOrigin 80, 0<D; socka = rv ê. 8t_, 8q_, uc_, Wsb_, Wdob_, Wfc_, Wzmar_, Wpoh_, q Wdobat_, Wost_, Wmech_, WdoFC_<< :t, Qmax >; plsoc = ListPlot@socka, PlotRange All, AxesLabel 8"t", "soc H L"<, PlotStyle 8Hue@0.63D, PointSize@0.005D<, GridLines Automatic, PlotRange All, AxesOrigin 80, 0<D; WdoFCcka = rv ê. 8t_, 8q_, uc_, Wsb_, Wdob_, Wfc_, Wzmar_, Wpoh_, Wdobat_, Wost_, Wmech_, WdoFC_<< 8t, WdoFC<; plsdofc = ListPlot@WdoFCcka, PlotRange All, AxesLabel 8"t", "WdoFC HJL"<, PlotStyle 8Hue@0.63D, PointSize@0.005D<, GridLines Automatic, PlotRange All, AxesOrigin 80, 0<D;

Cv10.nb 9 pluc plsoc souc H-L 1.0 0.8 0.6 0.4 0.2 500 1000 1500 t HsL soc H-L 1.0 0.8 0.6 0.4 0.2 500 1000 1500 t H energie potrebna do pohonu L Psum@ D pmech := ηm@psum@ DD &; Wmech = wmech@tmd ê. NDSolve@8wmech'@tD pmech@td, wmech@0d 0<, wmech, 8t, 0, tm<d@@1dd; WFCmax = PFCmax tm; WmaxSC = 1 2 csupcap UmaxSupCap2 ; WmaxAku = UAku@0.5 QmaxD nparalenichaku c1aku; jistenedojedu = Wmech > WFCmax + WmaxAku + WmaxSC;H ze jiste nedojedem kvuli energii L H vypocet maximalniho pozadovaneho vykonu L datp = pmech ê@ Range@0, tm, td; pmax = Max@datPD;

10 Cv10.nb H jen vypocty podminek, kdy nedojedeme L PmaxSupCap = UmaxSupCap2 2 RiSupCap ; UAku@QmaxD 2 PmaxAku = 2 RiAku@QmaxD ; nedojedusnabitymsc = pmax > PmaxSupCap + PFCmax; nedojedusnabitoubaterkou = pmax > PmaxAku + PFCmax; nedojedujennafc = pmax > PFCmax; UAku@k QmaxD 2 NedojeduSHodneVybitouBaterkou = pmax > PFCmax + ModuleB8k = 0.1<, 2 RiAku@k QmaxD F; H kontrola, jestli nám Euler pocita dobre energii L PrintB"Wmech Euler= ", wme = rv@@ 1, 2, 5DD; wme, Wmech wme ", Wmech NDSolve= ", Wmech, " δ= ", 100," %"F Wmech Wmech Euler= 5.59941 10 7, Wmech NDSolve= 5.59943 10 7 δ= 0.000316543 %