Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.
Nástěnka
❗22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
❗04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
❗23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.
Nejste přihlášen(a). Přihlásit
Zdravim, mame v programovani takovy ukol, viz niže, mohl by mi někdo poradit nějaky vzoreček? Předem mooc diky...
Část 2. Slovní úlohy
Implementujte algoritmy, které vstupní posloupnost zpracují následujícím způsobem:
* Radar 1: zrychlení->poloha
* Radar 2: poloha->zrychlení
Mějme radar, který měří polohu objektů pohybujících se ve třírozměrném prostoru. Součástí radaru je počítač, který z naměřených údajů vrací v intervalu 0,5s trojice hodnot. Radar 1 poskytuje údaje o zrychlení sledovaného objektu ve směru x, y a z. Radar 2 poskytuje údaje o poloze sledovaného objektu, tedy souřadnice ve směru x, y a z. Vaším úkolem je vytvořit algoritmy, které budou (Radar 1) z údajů o zrychlení v jednotlivých směrech počítat aktuální souřadnice sledovaného objektu a (Radar 2) z údajů o poloze počítat údaje o zrychlení v jednotlivých směrech. Výstupy z obou radarů budou tedy vstupem vašeho programu. Výstupem vašeho programu bude posloupnost přepočítaných hodnot.
Pro zjednodušení uvažujte tyto výchozí podmínky:
* radar vrací trojice hodnot v pevném časovém intervalu 0,5s
* sledovaný objekt mezi jednotlivými měřeními vykonává přímočarý, rovnoměrně zrychlený
pohyb
* hodnoty zrychlení, rychlosti i polohy v čase 0 (tedy před první vrácenou pozicí) jsou ve
všech třech směrech nulové
Offline

Radar 1 postupuje takto:
na začátku má ve v, a i r uložen nulový vektor. Pak každých 0,5s
1) načte vektor i
2) zrychlení změní z a na i
3) k poloze r přičte v*t+a*t*t/2
4) k rychlosti v přičte vektor a*t
Přitom ale předpokládám, že načtené zrychlení se týká uplynulé 0,5s. Pokud by se mělo týkat půlsekundy následující, bylo by potřeba obrátit pořadí kroků 2), 3), 4).
Radar 2 si v každém kroku
1) načte vektor i
2) do zrychlení uloží (i-(v*t+r))*2/(t*t) (protože i=r+v*t+1/2*a*t*t, kde v je rychlost na počátku úseku)
3) do rychlosti uloží v+a*t
4) polohu změní na i
Offline
Kolega jeste zapomne dodat ... :)
Váš program bude číst vstupní hodnoty ze standardního vstupu jako (potenciálně nekonečnou) posloupnost čísel oddělených bílými znaky. Například u Radaru 1 bude vstupní posloupnost vypadat takto:
ax(t1)
ay(t1)
az(t1)
ax(t2)
ay(t2)
az(t2)
ax(t3)
ay(t3)
az(t3)
Hodnota ax(t1) znamená zrychlení ve směru x v čase t1.
Takze napr radar1.. chapu spravne ze budeme znat zrychleni v case t1 takze 0.5s budeme znat rychlost v tomto pripade nula a pak stoho urcime polohu.. takto postupne prepocitam souradnice x y z.. ale pak je tu ax(t2) ktere udava zrychleni v smeru x c case t2 teda 1s ... jenze kdyz je dvakrat ruzne zadane zrychleni pak to uz nevykonava rovnomerne zrychleny pohyb ne? navic vysledky jako rychlost se prenesou do dalsi operace konkretne s ax(t2) ?
mam pocit ze vtom mam luxusni chaos mohl by mi to nekdo vysvetlit jako pro blbce prosim ? :)
Offline

↑ Joukieee:Jde o to, že počítat pohyb s různým zrychlením na konci a v průběhu je poměrně obtížné, zvlášť, když nevíme, jak se zrychlení mění. Proto načené ax(t),ay(t),az(t) považujeme za zrychlení pro celý následující úsek. Pokud se bude jednat o reálné měření, tak lze předpokládat, že rozdíl ve zrychleních se za půl sekundy moc nezmění.
Offline
taaakze ... myslim ze uz to chapu :) necht je ale jenom jedna souradnice X pro zjednoduseni.. radar mi v case t1 vyhodi zrychleni objektu.. ja stoho vypoctu rychlost a polohu.. radar pak vyhodi v case t2 co uz je jedna sekunda... jine zrychleni.. takze s vzhledem k puvodni vzdalenosti a rychlosti v case t1 vypoctu novou polohu za pomoci noveho zrychleni.. ?
Offline

↑ Joukieee:Není to jediný přístup, ale připadá mi nejlepší.
Offline