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
Zdravím,
V excelu mám vynesený exponencialni graf a potřebuji k němu získat rovnici (funkci, které se cca bude blížit), abych mohl z integrovat plochu pod touto křivkou. Jak na to?
Díky za rady.
Offline
↑ witc:
Je třeba mít data (tj. body, kterými byl graf prokládán). Pak je možné buď interpolovat (má-li funkce těmito body přesně procházet), anebo aproximovat (má-li funkce vystihovat trend - v případě, že jsou to třeba naměřené hodnoty, které jsou zatíženy chybami).
Offline
↑ martisek:
Pochopitelně hodnoty z kterých graf vznikl mám. Na přesnosti tolik nesejde, takže můžu i hodnoty aproximovat, ale stejně nevím jak spočítám tu plochu pod křivkou :-) - z jaké funkce udělám integrál?
Offline
↑ witc:
To právě záleží na tom, jak ty body vypadají. Je třeba odpovědět řadu otázek. Třeba - kolik těch bodů je? Má to být exponenciální funkce? Pokud ano, jakého má být tvaru? e^ax+b? Nebo jenom třeba e^ax? Nemá to třeba mít jiný základ? Apod.
Offline
↑ witc:
Takže to vypadá na funkci a*e^(b*t). Mělo by se to dělat tzv. metodou nejmenších čtverců a kdyby se to mělo dělat úplně korektně, bylo by to dost složité - mimochodem ten excel (pokud to tak proložil on) to taky nemá úplně dobře, protože to dělá tak, jak to uděláme my.
Takže návod: Sestav si tabulku: v prvním řádku t[s] (hodnoty označíme x_i, počet měření n) a ve druhém přirozené logaritmy proudu, hodnoty označíme y_i = ln I.
Dále sestav soustavu rovnic pro neznámé A, B:

kde
součet, např.
.
Soustavu vyřeš a měl bys pak integrovat funkci A*e^(Bt).
Offline
↑ martisek:
zkusím udělat, ale vůbec postupu nerozumím :-(, proč mám z proudu dělat logaritmus?? a smysl těch rovnic v soustavě jsem také nepochopil, šlo by to nějak lehce popsat - proč zrovna takto? :-)
Offline
↑ witc:
No, jenom skutečně lehce, protože fušujeme dost hluboko do vysokoškolské matematiky. Princip metody nejmenších čtverců ilustruje obrázek:
t_i, y_i jsou naše hodnoty, R hledaná funkce. Tu je třeba najít tak, aby součet čtverců na obrázku byl co nejmenší. Hledáme tedy minimum výrazu![kopírovat do textarea $
\sum r_i^2=\sum \left[ y_i - R\left( t_i\right)\right]^2
$](/mathtex/ce/ceebe277b91ee98ba0907383cbf573a4.gif)
V našem případě je
, takže![kopírovat do textarea $
\sum \left[ y_i - a\cdot e^{bt_i}\right]^2
$](/mathtex/db/dbb427556fd2bf3277899ba4a688bb4b.gif)
Tento výraz nabývá různých hodnot pro různá a, b, je tedy funkcí dvou proměnných - a, b. Hledáme její minimum. K tomu je potřeba funkci zderivovat podle a, tuto derivaci položit rovnu nule, a pak zderivovat podle b a rovněž položit rovnu nule. Dostaneme soustavu dvou rovnic pro dvě neznámé, jejím řešením pak hledané hodnoty a, b.
Pro funkci v tomto tvaru by však soustava byla nelineární a velmi těžko řešitelná, proto si pomůžeme tím logaritmováním. Tím totiž přejde ta exponenciála v přímku:
Soustava, kterou dostaneme předchozím postupem, je teď pro neznámé A, B lineární (je to ta, kterou jsem napsal) a relativně snadno řešitelná.
Zkuste se s tím poprat, když tak pište nějaké mezivýsledky a nějak to dáme dohromady :-)
Offline
Ještě lze použít metodu vybraných bodů. Vybereš dvě pozorování z čas. řady. Jedno ze začátku a druhé z konce
Označme je
a
sestavíš rovnici

a
To mají být stříšky(odhady) ale nevím jak se dělají hehe
a získáš odhady:
![kopírovat do textarea $\bar{a_{1}}=\sqrt[m]{\frac{Y_{t_{0}+m}}{Y_{t_{0}}}}$](/mathtex/88/88404931870d18ea062a149327874729.gif)
Exp. trend:
Jinak tu metodu log transformace bych moc nedoporučoval, poněvadž není až tak přesná a odhady nejsou konzistentní, když už tak, tak je lepší použít metodu nejmenších vážených čtverců, ale to se mi tu už teď nechce vypisovat, ale jestli by si to opravdu potřeboval tak dopíšu . .
ale tohle vše už není SŠ..
Offline
↑ Creatives:
Ono to vůbec celé není SŠ. Tím logaritmováním to samozřejmě trochu ustřelí, ale jak se tak dívám na ten excelovský obrázek, vypadá to, že to excel dělá taky tak a ještě k tomu blbě.
Offline
↑ martisek:
Tak pokud už mám vzorečky a dosazuju, tak to by SŠ měl zvládnout, ale pokud se bavíme a výpočtu normálních rovnic (derivování atd) tak to už pochybuju. My sme třeba derivace ani integrály na SŠ neměli..
Offline
↑ Creatives:
Dal jsem to sem právě proto, že dosazování už by neměl být problém, ale dost se divím, že na střední škole chtějí metodu nejmenších čtverců...
Offline
↑ martisek:, ↑ Creatives:
Zdravím, přesunu do VŠ.
Offline
↑ witc:
Tak jsem se na trochu díval - při minimalizaci funkce![kopírovat do textarea $
\sum \left[ y_i - a\cdot e^{bt_i}\right]^2 (1)
$](/mathtex/74/748dd33e33b07df66254fa1c5ea32d25.gif)
po logaritmování vychází a = 1,764; b = -0.008410 a graf plus mínus zhruba tak, jak je to tam z toho Excelu:
což je (jak se dalo čekat), opravdu dost ustřelené. Nicméně [a;b] = [1,764; -0.008410] je dobrým startovním bodem pro upřesnění některou numerickou metodou - nejlépe asi gradientní (tam by mohl stačit jeden krok). Tedy - spočítat gradient funkce (1) v bodě [a;b] = [1,764; -0.008410] a spočítat minimum proti směru tohoto gradientu.
Offline