Zápočtový úkol 10#
Při splnění všech podúloh tohoto započtového úkolu bude počítáno jako splnění 2 započtových úloh! Pro splnění tohoto zápočtového úkolu (počítán jako 1 splněný úkol) stačí správně vyřešit jednu z podúloh.
Pomocí metody střelby řešte okrajovou úlohu střelby na cíl v homogenním gravitačním poli Země. Uvažujte tření dělové koule ve vzduchu a působení gravitace země ve tvaru:
kde
Okrajové podmínky jsou následující:
tedy v čase
Předchozí úlohu je výhodné řešit v následujícím tvaru soustavy čtyř ODR (kde místo dvou složek rychlostí máme velikost rychlosti a úhel
s okrajovými podmínkami:
Implementujte metodu střelby pro předchozí úlohu (můžete se inspirovat cvičením) a využijte ji v následujících podúlohách:
Vyřešte úlohu pro následující parametry:
.To odpovídá otázce: “Jaký má být úhel náklonu děla a síla výstřelu tak, aby koule zasáhla cíl za dobu
?”V této podúloze bude funkce
vektorem dvou funkcí! Hledáme kořeny soustavy dvou rovnic! (můžete využít například funkcescipy.optimize.newton()
)
Řešte stejnou úlohu, ale tentokrát doba zasažení cíle může být libovolná a navíc máte podmínku
.Pokud nás nezajímá, kdy zasáhneme cíl, podmínka
ve skutečnosti odpovídá jen jedné podmínce , kde čas je daný vztahem (koule doletěla do vzdálenosti cíle). Tedy pro jednoznačnost potřebujeme další podmínku (počáteční rychlost).Zde tedy nemáme přesně daný integrační interval
, musíme tedy v každém kroku kontrolovat zda .Odpovídá otázce: “Jaký má být úhel náklonu děla, abych při síle výstřelu
koule zasáhla cíl?”
Najděte hodnotu
tak, aby počáteční rychlost koule byla co nejmenší a cíl byl stále zasažen (v libovolném čase).hledejte náklon děla v intervalu
Uvědomte si, že řešením podúlohy 3 získáváte pomyslný vztah (funkci):
( ). Tedy pro určitou počáteční rychlost dostaneme náklon děla takový, že je zasažen cíl za určitý čas (ten závisí na volbě počáteční rychlosti).Stačí formulovat funkci
analogicky dle podúlohy 3 a nalézt minimum (využijte vhodné knihovní funkce z moduluscipy.optimize
).
Vždy vykreslete výsledné řešení na intervalu
## DOPLŇTE ##