Rovnice řešené numericky
Najděte všechna reálná řešení následujících rovnic:
a) x^x=(3/4)^(3/4),
b) x*[x]-5*x+7=0 (symbolem [x] rozumíme celou část čísla x).
Použité příkazy: solve, find_root a mnewton.
(Porovnejte výsledky použití těchto příkazů)
a) x^x=(3/4)^(3/4)
(%i1) | r1:x^x=(3/4)^(3/4); |
(%i2) | solve(r1,x); |
(%i3) |
wxplot2d([lhs(r1),rhs(r1)],[x,-1,2],[y,-0.5,2.5], [gnuplot_preamble,"set size ratio 1;"]); |
(%i4) | find_root(x^x-(3/4)^(3/4), x, 0.5, 1); |
(%i5) | find_root(x^x-(3/4)^(3/4), x, 0.01, 0.5); |
(%i6) | load(mnewton); |
(%i7) | mnewton(x^x-(3/4)^(3/4), x, 0.1); |
(%i8) | mnewton(x^x-(3/4)^(3/4), x, 1); |
b) x*[x]-5*x+7=0
Pozn.: Celá část reálného čísla x je v programu reprezentována
funkcí floor(x)
(%i9) | r2:x*floor(x)-5*x+7=0; |
(%i10) | solve(r2,x); |
(%i11) | wxplot2d([lhs(r2),rhs(r2)],[x,-5,10],[y,-5,15]); |
(%i12) |
wxplot2d([lhs(r2),rhs(r2)],[x,-5,10],[y,-5,15],[style,dots], [nticks,1000]); |
(%i13) |
wxplot2d([lhs(r2),rhs(r2)],[x,1,5],[y,-2,4],[style,dots], [nticks,1000]); |
(%i14) | find_root(lhs(r2), x, 1.5, 1.9); |
(%i15) | find_root(lhs(r2), x, 2.1, 2.5); |
(%i16) | find_root(lhs(r2), x, 3.1, 3.9); |