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íme-li, že [mathjax]A\sin x + B \cos x = C \sin \left( x+D\right)[/mathjax], jak vyjádříme koeficienty C a D pomocí A a B? Nějaký tvar jsem si odvodil a je správně, ale mám pocit, že jsem někde viděl jednodušší tvar. Svoje řešení sem prozatím nechci dávat, abych vás neovlivňoval.
Offline
↑ kastanek:
Použiji součtový vzorec sin(x+D) = sinx * cosD + cosx * sinD
ale nevím, zda to pomůže
Nebo také lze zkusit toto: sin(U+x) = sinU * cosx + cosU * sinx
přičemž cosU = A/odm(A^2 + B^2); sinU = B/odm(A^2 + B^2)
Offline
↑ Richard Tuček:Jasný, Céčko jsem takto odvodil, jiným způsobem pak Déčko. Ale použijí se při tom neekvivalentní operace, takže se to "dorovnává" dalšími výrazy a mám pocit, že ten vzorec je jednodušší...
Offline
↑ MichalAld:
Hm, hezký... Ty jsi, myslím, fyzik a vy asi takový vzorec používáte dost často. Proto ho znáš? Nebo jsi ho odvodil?
Jen pro srovnání můj nepěkný vzorec:
[mathjax]A\sin x+B\cos x=-\mathrm{sgn}\,B\cdot\sqrt{A^2+B^2}\cdot\sin\left(x-\frac{\pi}{2}-\arctan\frac{A}{B} \right)[/mathjax]
Offline
↑ kastanek:
jednodušší (ale stejný výsledek)
[mathjax]A\sin x+B\cos x=\mathrm{sgn}(B)\cdot\sqrt{A^2+B^2}\cdot\sin\left(x+\frac{\pi}{2}-\arctan\frac{A}{B} \right)[/mathjax] [mathjax]A,B\neq 0[/mathjax]
Offline
↑ kastanek:
On je problém, že ten arctan funguje jen v rozsahu plus minus 90 stupňů. Zbytek se musí dodělat ručně. Proto se používá ta funkce arg, která to už má schované v sobě ty věci kolem znamének. Pak je ještě další problém když povolíme že to C může být záporné
Offline
Místo funkce arg, lze použít funkci atan2 (Excel, Calc):
[mathjax]A\,\sin x+B\,\cos x=\sqrt{B^2+A^2}\,\sin \left(x+{\rm atan2}\left(A , B\right)\right)[/mathjax]
Online
kastanek napsal(a):
↑ MichalAld:
Hm, hezký... Ty jsi, myslím, fyzik a vy asi takový vzorec používáte dost často. Proto ho znáš? Nebo jsi ho odvodil?
Tak já jsem fyzik jen tady, ale pravda je, že ve fyzice či elektronice se s tím člověk setkává pořád. Už jsem si to za život odvozoval asi 10x, a stejně to vždycky zapomenu, protože ono to zas tak úplně triviální není. Většinou se teda řeší analogický problém s komplexními čísly, tedy převést složkový tvar na exponenciální:
[mathjax]a+ib = C e^{i \varphi}[/mathjax]
Ale je to ten samý problém. Pokud tedy vyjdeme z tvého tvaru (jen tam místo D budu psát to [mathjax]\varphi[/mathjax] ať to lépe vypadá:
[mathjax]A\sin x + B \cos x = C \sin \left( x+\varphi \right)[/mathjax]
Tak první krok je použít vzorec
[mathjax]\sin(\alpha +\beta) = \sin \alpha \cdot \cos \beta + \cos \alpha \cdot \sin \beta[/mathjax]
Tak tedy dostaneme, že
[mathjax]C \sin \left( x+\varphi \right)=C \sin x \cos \varphi + C \cos x \sin \varphi[/mathjax]
a má li se to rovnat výrazu
[mathjax]A \sin x + B \cos x [/mathjax]
tak musí platit (pokud není jasné proč to musí platit, tak klidně vysvětlím, ale přijde mi to samozřejmé), že:
[mathjax]A = C \cos \varphi[/mathjax]
[mathjax]B = C \sin \varphi[/mathjax]
Offline
Máme tedy:
[mathjax]A = C \cos \varphi[/mathjax]
[mathjax]B = C \sin \varphi[/mathjax]
a potřebujeme najít C a [mathjax]\varphi[/mathjax]. Hned na začátku je dobré zmínit, že daná úloha není úplně jednoznačná, a že to lze udělat vícero způsoby, takže je dobré si rozsah proměnných trochu omezit (k tomu se dostaneme v průběhu).
Další krok je použití vztahu [mathjax]\cos^2x + \sin^2x= 1[/mathjax], což nás přivede na myšlenku, že
[mathjax]A^2 + B^2 = C^2\cos^2\varphi + C^2\sin^2\varphi = C^2(\cos^2\varphi + \sin^2\varphi)=C^2[/mathjax]
Tím pádem [mathjax]C = \sqrt{A^2 + B^2}[/mathjax]
Zde se zpravidla použije konvence, že C je kladné číslo (nazývané jako amplituda). Má to svůj smysl a nedopustíme se tím žádné újmy na obecnostni, ale v principu lze zvolit C i záporné. Můžu nakonec ukázat, jak toho dosáhnout.
Offline
No a když už máme C, tak zbývá určit ten úhel.
[mathjax]A = C \cos \varphi[/mathjax]
[mathjax]B = C \sin \varphi[/mathjax]
Můžeme použít přímo tyhle rovnice, no a nebo je dáme do poměru a dostaneme
[mathjax]\frac{B}{A} = \frac{\sin \varphi}{\cos \varphi}=\tan{\varphi}[/mathjax]
Takže v principu
[mathjax]\varphi = \arctan \frac{B}{A}[/mathjax]
Jenže problém je, že funkce tangens je periodická s periodou [mathjax]\pi[/mathjax], takže její inverze bude fungovat jen v rozsahu [mathjax]<- \frac{\pi}{2}; +\frac{\pi}{2}>[/mathjax], česky od -90° do +90°. Zbytek si musíme vybojovat ručně.
Offline
[mathjax]A = C \cos \varphi[/mathjax]
[mathjax]B = C \sin \varphi[/mathjax]
Podle znamének čísel A,B dostáváme 4 možnosti:
A>0, B>0: úhel je 0° ... 90°
A>0, B<0: úhel je 0° ... -90°, což je to samé jako 270° ... 360°
Pro tyhle varianty můžeme použít přímo vztah [mathjax]\varphi = \arctan \frac{B}{A}[/mathjax]
No a pro
A<0, B>0: úhel je 90° ... 180°
A<0, B<0: úhel je -90° ... -180°, což je to samé jako 180° ... 270°
musíme použít vztah [mathjax]\varphi = \arctan \frac{B}{A} + \pi == \arctan \frac{B}{A} +180°[/mathjax]
K tomu jsou ještě ty dvě varianty kdy A=0, které odpovídají úhlům +90° a -90°, a pak varianta A=0 a B=0, která nemá jednoznačné řešení a úhel si můžeme zvolit libovolně, takže se většinou volí úhel 0°.
Offline
Ten vztah [mathjax]\varphi = \arctan \frac{B}{A} + \pi [/mathjax] se docela blbě pamatuje i odvozuje (hlavně ta znaménka), já to vždycky dělám tak, aby mi vyšlo co má vyjít. Je teda možné i to, že je to blbě, a má tam být někde minus, moc se mi nad tím teď nechce bádat.
Navíc, tak jak jsem to popsal, dostaneme úhel v rozsahu -90° ... 270°, a pokud se nám to nelíbí, tak si ho ještě musíme upravit. Vzhledem k periodicitě funkci sin a cos můžeme k úhlu vždycky přičíst nebo odečíst 360° ([mathjax]2 \pi[/mathjax]) a dostaneme stejný výsledek. Takže když se nám nelíbí hodnoty v rozsahu 0 ... -90°, přičteme si 360°.
No a aby se těmihle dost komplikovanými podmínkami člověk nemusel při každém počítání zabývat, tak se používá funkce arg(x,y) nebo se také nazývá atan2(x,y), která už tohle všechno udělá za nás. Protože žádný "hezký vzorec" se na to vymyslet nedá. Obecně se to musí v každém kvadrantu počítat jinak (já jsem to trochu zjednodušil, že se dá použít vždy ve dvou kvadrantech stejný vzorec, ale pak ten úhel nevychází úplně tak, jak bychom chtěli).
Další věc je, že se taky blbě pamatuje, které z těch dvou písmenek A,B je které. Na to jsou lepší právě ta komplextní čísla, protože tam máme reálnou část (Re) a imaginární část (Im), takže v tom vzorci je vždycky [mathjax]\arctan \frac{Im}{Re}[/mathjax], což když si člověk jednou zapamatuje, tak už je navždy jasné, co je co.
Offline
Ještě jsem na začátku zmínil, že číslo C si můžeme v principu zvolit záporné. Pokud po tom toužíme, tak si ho nejdříve zvolíme kladné, spočítáme správný úhel, a jeho změnu za záporné pak "vykompenzujeme" tím, že k úhlu [mathjax]\varphi[/mathjax] přidáme dalších 180°, tedy [mathjax]\pi[/mathjax]
Důkaz:
[mathjax]\sin (\varphi + \pi) = \sin \varphi \cos \pi + \cos \varphi \sin \pi=\sin \varphi \cdot(-1) + \cos \varphi \cdot 0=- \sin \varphi[/mathjax]
Offline
Ale jinak si stačí zapamatovat to, co napsal Mák, tedy že:
mák napsal(a):
Místo funkce arg, lze použít funkci atan2 (Excel, Calc):
[mathjax]A\,\sin x+B\,\cos x=\sqrt{B^2+A^2}\,\sin \left(x+{\rm atan2}\left(A , B\right)\right)[/mathjax]
Jen je třeba vždycky dávat pozor v jakém pořadí píšeme ta písmenka do funkce atan2(x,y). Když si nejsme jistí, tak si to vyzkoušíme na nějakém jednoduchém případu, s jedničkami a nulami, třeba.
Offline
↑ MichalAld:
Díky za vyčerpávající odvození!
Já to C odvodil stejně, D pak derivací.
Offline