Hledání průsečíku pomocí půlení intervalu
Metodou půlení intervalu nalezněte průsečík s nulou u funkce f=10*(x-200)3 na intervalu -1000 až +1000
Princip metody:
1) Vypočtěte hodnoty v krajních bodech
intervalu a uprostřed
2) Vypusťte tu z hodnot na kraji, která má
stejné znaménko jako prostřední hodnota. (Předpokládáme, že existuje
pouze jeden průsečík na daném intervalu).
3) Zbylé dvě hodnoty
použijte jako krajní hodnoty pro výpočet podle bodu 1).
4) Výpočet
ukončete v okamžiku, kdy hodnota spočítaná pro prostřední bod nabyde
hodnotu „nula“ (zde musíme počítat s tím, že při
diskrétních výpočtech nemusíme přesné hodnoty nula dosáhnout. Proto
stanovíme určitý interval, ve kterém budeme hodnoty považovat za
nulové (v závislé proměnné/amplitudě, osa y). Pokud bychom uvažovali,
že průběh v okolí průsečíku bude velice strmý (například 1/x v okolí
nuly), museli bychom položit i podmínku na minimální interval v
nezávislé proměnné („čas“, osa x)).
1) Napište funkci, kerá na základě dodaného parametru x vypočte
hodnotu v daném bodě. Pro mocninu lze použít funkce pow.
Funkce
bude mít prototyp double Funkce(double x).
2) Napište funkci (kterou navrhněte jako rekurzivní), která
vypočte průsečík s nulou. Funkce bude mít prototyp double Prusecik
(double xLeva, double xPrav,double Tolerance). Tolerance určuje v
jakém intervalu ukončit výpočet.
Funkce vypočte hodnoty v
krajních bodech a uprostřed mezi nimi. Pokud je hodnota uprostřed
dostatečně malá (v intervalu +-Tolerance), pak vrátí jí odpovídající
polohu. Jinak zavolá funkci Prusecik s hodnotami krajnich bodů, kdy
jeden z původních (ten jehož hodnota má stejné znaménko jako střední)
nahradí bodem středním.
3) Pomocí funkcí z bodů 1) a 2) vypočtěte průsečík funkce s osou x.
Poslední změna 2014-03-05