Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
Následující verze | Předchozí verze | ||
matematika:software:maxima:prusecikprimkyakruznice [17. 09. 2015, 13.29] rydloadm vytvořeno |
matematika:software:maxima:prusecikprimkyakruznice [18. 09. 2015, 13.04] (aktuální) rydloadm |
||
---|---|---|---|
Řádek 17: | Řádek 17: | ||
| <code>k: (x-m)^2+(y-1)^2=16;</code> | Vkládáme rovnici kružnice a pojmenováváme ji k. | Zadáváme rovnice do programu. | | | <code>k: (x-m)^2+(y-1)^2=16;</code> | Vkládáme rovnici kružnice a pojmenováváme ji k. | Zadáváme rovnice do programu. | | ||
| <code>p: x-3*y+6=0;</code> | Vkládáme rovnici přímky a pojmenováváme p. | ::: | | | <code>p: x-3*y+6=0;</code> | Vkládáme rovnici přímky a pojmenováváme p. | ::: | | ||
- | | <code>solve([k,p],[x,y]);</code> | Necháváme program vyřešit soustavu rovnic //k//, //p// vzhledem k neznámým //x// a //y//, //m// je tedy parametr. Všimneme si, že x_1 a x_2, stejně jako y_1 a y_2 se liší přičtením či odečtením výrazu pod odmocninou (disktiminant), ten by tedy měl být 0. Zkusíme si nejprve vyřešit soustavu "ručně" dosazovací metodou. || | + | | <code>solve([k,p],[x,y]);</code> | Necháváme program vyřešit soustavu rovnic //k//, //p// vzhledem k neznámým //x// a //y//, //m// je tedy parametr. Všimneme si, že x<sub>1</sub> a x<sub>2</sub>, stejně jako y<sub>1</sub> a y<sub>2</sub> se liší přičtením či odečtením výrazu pod odmocninou (disktiminant), ten by tedy měl být 0. Zkusíme si nejprve vyřešit soustavu "ručně" dosazovací metodou. || |
| <code>solve(p,y);</code> | Necháme "vyřešit" přímku //p// pro proměnnou //y// s "parametrem" //x// neboli necháme vyjádřit z rovnice přímky //p// neznámou //y// vzhledem k //x//. | Vyřešíme soustavu rovnic //k// a //p// dosazovací metodou, dosazením za //y// z rovnice přímky. | | | <code>solve(p,y);</code> | Necháme "vyřešit" přímku //p// pro proměnnou //y// s "parametrem" //x// neboli necháme vyjádřit z rovnice přímky //p// neznámou //y// vzhledem k //x//. | Vyřešíme soustavu rovnic //k// a //p// dosazovací metodou, dosazením za //y// z rovnice přímky. | | ||
| <code>rhs(%[1]);</code> | Zobrazíme si jen pravou stranu rovnice, která nám vyšla, to dělá funkce ''rhs()''. symboly ''%[1]'' říkají, že z předchozího výsledku, kterým byl (jednoprvkový) seznam (má hranaté závorky) bereme hned první (a zde jedinou) položku. | ::: | | | <code>rhs(%[1]);</code> | Zobrazíme si jen pravou stranu rovnice, která nám vyšla, to dělá funkce ''rhs()''. symboly ''%[1]'' říkají, že z předchozího výsledku, kterým byl (jednoprvkový) seznam (má hranaté závorky) bereme hned první (a zde jedinou) položku. | ::: | | ||
| <code>subst(%,y,k);</code> | Substituujeme (dosazujeme) do rovnice //k// místo neznámé //y// hodnotu předchozího výsledku (znak %). Pokud něco nefunguje, můžeme rovnou místo znaku % napsat ''(x+6)/3''. | ::: | | | <code>subst(%,y,k);</code> | Substituujeme (dosazujeme) do rovnice //k// místo neznámé //y// hodnotu předchozího výsledku (znak %). Pokud něco nefunguje, můžeme rovnou místo znaku % napsat ''(x+6)/3''. | ::: | | ||
| <code>expand(%);</code> | Roznásobíme předchozí rovnici. | ::: | | | <code>expand(%);</code> | Roznásobíme předchozí rovnici. | ::: | | ||
- | | <code>%-16</code> | Od předchozího výsledku odečteme 16, abychom dostali na levé straně kvadratický trojčlen a na pravé straně rovnice nulu. | Máme kvadratickou rovnici pro //x// vzhledem k //m//. Jelikož ale nepotřebujeme znát hodnotu //x/, ale pouze zajistit, aby mělo jediné řešení, budeme dále určovat diskriminant kvadratické rovnice tak, aby byl roven 0. | | + | | <code>%-16</code> | Od předchozího výsledku odečteme 16, abychom dostali na levé straně kvadratický trojčlen a na pravé straně rovnice nulu. | Máme kvadratickou rovnici pro //x// vzhledem k //m//. Jelikož ale nepotřebujeme znát hodnotu //x//, ale pouze zajistit, aby mělo jediné řešení, budeme dále určovat diskriminant kvadratické rovnice tak, aby byl roven 0. | |
| <code>lhs(%);</code> | Zobrazíme si jen levou stranu rovnice, tj. pouze kvadr. trojčlen. | ::: | | | <code>lhs(%);</code> | Zobrazíme si jen levou stranu rovnice, tj. pouze kvadr. trojčlen. | ::: | | ||
| <code>ratcoef(%,x,2);</code> | Z předchozího výsledku (znak %) si zobrazíme koeficient pro //x// v 2. mocnině. | ::: | | | <code>ratcoef(%,x,2);</code> | Z předchozího výsledku (znak %) si zobrazíme koeficient pro //x// v 2. mocnině. | ::: | | ||
Řádek 34: | Řádek 34: | ||
| <code>solve(%);</code> | Necháme vyřešit rovnici v předchozím řádku. | Program nalezl 2 možné hodnoty parametru //m//. máme řešení. | | | <code>solve(%);</code> | Necháme vyřešit rovnici v předchozím řádku. | Program nalezl 2 možné hodnoty parametru //m//. máme řešení. | | ||
- | Bude-li $m =\pm4 \sqrt{10} -3$, bude se kružnice dotýkat přímky. | + | Bude-li $m =\pm4 \sqrt{10} -3$, bude se kružnice dotýkat přímky. |
+ | |||
+ | Můžeme ještě spočítat souřadnice tečného bodu: | ||
+ | ^ Příkaz wxMaxima ^ Vysvětlení ^ Postup ^ | ||
+ | | <code>rhs(%[1]);</code> | příkaz rhs vybere jen pravou stranu rovnice, %[1] říká první část ze seznamu posledního výsledku. | Zobrazíme hodnotu //m<sub>1</sub>//. | | ||
+ | | <code>subst(%,m,k);</code> | Substituujeme (dosadíme) předchozí výsledek za parametr //m// do rovnice kružnice. | Dosadíme za parametr do kružnice. | | ||
+ | | <code>solve([%,p],[x,y]);</code> | Vyřešíme soustavu rovnic, první je předchozí výsledek (kružnice s dosazeným parametrem), druhá je přímka, hledáme neznámé //x// a //y//. | Hledáme průsečík kružnice a přímky pro první hodnotu parametru //m//. | | ||
+ | | <code>rhs(%o18[2]); | ||
+ | subst(%,m,k); | ||
+ | solve([%,p],[x,y]); | ||
+ | </code> | Výsledek pro druhou hodnotu parametru //m<sub>2</sub>// dostaneme analogicky, nejprve zobrazujeme druhou hodnotu (jen pravou stranu) z výsledku na řádku 18. | Dopočítáme tečný bod pro druhou hodnotu parametru. | | ||
+ | |||
+ | Celý výpočet pro program wxMaxima si můžete {{:matematika:software:maxima:kruzniceaprimka.wxm|stáhnout}}. Otevřete nové okno a po načtení klikněte v menu na "Cell" → "Evaluate All Cells". Nezapomeňte, že při opakovaném provedení příkazu (stisku Shift+Enter) znamená znak % v příkazu vždy výsledek naposledy provedeného výpočtu, nikoliv předchozího řádku. Při opakovaném provedení se také mění čísla řádků, takže nemusí odpovídat správně očíslování např %o18. | ||
+ | |||
+ | Exportovanou podobu v HTML najdete na [[http://www.gml.cz/prof/rydlo/matika/maxima/kruzniceaprimka1.html|stránkách prof. Rýdla]]. |