[Maxima] Dla zadanego i, i-ty pierwiastka z n
-
- Użytkownik
- Posty: 23
- Rejestracja: 22 lis 2014, o 17:30
- Płeć: Kobieta
- Lokalizacja: Wrocław
- Podziękował: 3 razy
[Maxima] Dla zadanego i, i-ty pierwiastka z n
Jak stworzyć funkcję jednolinijkową, która policzy \(\displaystyle{ i}\)-ty pierwiastek z \(\displaystyle{ n}\)?
Ostatnio zmieniony 9 lis 2015, o 08:20 przez Afish, łącznie zmieniany 2 razy.
Powód: Poprawa wiadomości.
Powód: Poprawa wiadomości.
-
- Użytkownik
- Posty: 23
- Rejestracja: 22 lis 2014, o 17:30
- Płeć: Kobieta
- Lokalizacja: Wrocław
- Podziękował: 3 razy
[Maxima] Dla zadanego i, i-ty pierwiastka z n
Ma być krótka, zapis powinien zmieścić się w 1 linijce.
-
- Użytkownik
- Posty: 4211
- Rejestracja: 25 maja 2012, o 21:33
- Płeć: Mężczyzna
- Lokalizacja: Kraków PL
- Podziękował: 2 razy
- Pomógł: 758 razy
[Maxima] Dla zadanego i, i-ty pierwiastka z n
- Pytanie o język jest zasadne, bo gdy ma on zaimplementowane funkcje Exp i Log, to można je wykorzystać.
- Pętle są niezbędne, gdy startujemy „o zera” i wykorzystujemy np. rozwinięcie funkcji w szereg Maclaurina.
-
- Użytkownik
- Posty: 4211
- Rejestracja: 25 maja 2012, o 21:33
- Płeć: Mężczyzna
- Lokalizacja: Kraków PL
- Podziękował: 2 razy
- Pomógł: 758 razy
[Maxima] Dla zadanego i, i-ty pierwiastka z n
Nic mi to nie mówi. Czy ma zaimplementowane funkcje, o których pisałem wcześniej?
Jeśli tak, to:
Jeśli tak, to:
- Pierwiastek(x;i)=Exp(Log(x)/i) – składnia hipotetyczna, nie znam Meximy.
-
- Użytkownik
- Posty: 4211
- Rejestracja: 25 maja 2012, o 21:33
- Płeć: Mężczyzna
- Lokalizacja: Kraków PL
- Podziękował: 2 razy
- Pomógł: 758 razy
[Maxima] Dla zadanego i, i-ty pierwiastka z n
U Ciebie n jest argumentem funkcji (liczbą podpierwiastkową), ale ponieważ zazwyczaj oznacza się nim liczny naturalne, a pierwiastki można obliczać dla liczb rzeczywistych nieujemnych (nieparzystego stopnia – dla wszystkich) więc ja użyłem jako argumentu x. Dodatkowo moja funkcja ma drugi argument i – stopień pierwiastka.
Na marginesie: Ww. powinnaś się sama domyślić. Musisz się „podciągnąć”.
Na marginesie: Ww. powinnaś się sama domyślić. Musisz się „podciągnąć”.
- Althorion
- Użytkownik
- Posty: 4541
- Rejestracja: 5 kwie 2009, o 18:54
- Płeć: Mężczyzna
- Lokalizacja: Wrocław
- Podziękował: 9 razy
- Pomógł: 662 razy
[Maxima] Dla zadanego i, i-ty pierwiastka z n
Można próbować skorzystać z . Dobrym punktem startowym będzie na przykład \(\displaystyle{ x_0 = 1}\), trochę lepszym \(\displaystyle{ x_0 = 1 + \frac{a-1}{n}}\) (gdzie \(\displaystyle{ a}\) to nasza pierwiastkowana liczba, a \(\displaystyle{ n}\) to stopień pierwiastka) i potem iterujemy \(\displaystyle{ x_{i+1} = \frac{1}{n} \left((n-1)x_i + \frac{a}{x_{i}^{n-1}}\right)}\). Iterujemy tak długo, jak kolejne wartości będą się różnić, ew. aż się zbliżymy w sposób nas zadowalający (co to oznacza musisz sobie wymyślić sama, popularne rozwiązania to iloraz mniejszy na moduł bądź różnica mniejsza na moduł od pewnej wartości).
Tak się to przykładowo implementuje w Haskellu:
Tak się to przykładowo implementuje w Haskellu:
Kod: Zaznacz cały
n `f` x = fst $ until (uncurry(==)) ((_,x0) -> (x0,((n-1)*x0+x/x0**(n-1))/n)) (x,x/n)