Strona 1 z 1

[Metody numeryczne] Obliczanie wartości funkcji elementarnyc

: 8 lut 2013, o 22:29
autor: Szysiek
Witam, mam takie pytanie:

Jak oblicza się numerycznie wartości funkcji elementarnych np. \(\displaystyle{ \sin (1.3\pi)}\)

Z góry dziękuję za odpowiedź.

[Metody numeryczne] Obliczanie wartości funkcji elementarnyc

: 8 lut 2013, o 22:32
autor: szw1710
Ze wzoru Maclaurina.

[Metody numeryczne] Obliczanie wartości funkcji elementarnyc

: 9 lut 2013, o 20:04
autor: Szysiek
A mógłby ktoś rozpisać ten przykład z pierwszego postu? Najlepiej z jakimś komentarzem, bo jakoś nie mogę tego pojąć do końca. Byłbym wdzięczny.

[Metody numeryczne] Obliczanie wartości funkcji elementarnyc

: 9 lut 2013, o 20:18
autor: miodzio1988
Nie. Jaki masz wzór podany przez kolege?

[Metody numeryczne] Obliczanie wartości funkcji elementarnyc

: 9 lut 2013, o 20:33
autor: szw1710
Szysiek, a czy Ty masz to implementować, czy wystarczy Ci odpowiednia biblioteka?

[Metody numeryczne] Obliczanie wartości funkcji elementarnyc

: 9 lut 2013, o 20:58
autor: Szysiek
To jest pytanie, które często lubi padać na zaliczeniu. Więc muszę wytłumaczyć jak się wylicza te wartości funkcji.

[Metody numeryczne] Obliczanie wartości funkcji elementarnyc

: 9 lut 2013, o 21:04
autor: szw1710
Radzę więc poszukać w opisach oprogramowania, kalkulatorów itp. tego, wg jakiego algorytmu się to robi. Bo niekoniecznie wzór Maclaurina czy Taylora będzie najszybszy w rozwiązaniu praktycznym. Metody numeryczne to bardzo rozległa dziedzina wiedzy. A pewnie o taki przedmiot chodzi. Kto wie czy np. nie aproksymuje się funkcjami sklejanymi

Ja bym do tego tak podszedł: wiadomo, że aby wyznaczyć funkcje trygonometryczne dowolnego kąta, wystarczy je znać dla kątów ostrych. Więc badałbym jaka jest dokładność obliczeń np. sinusa wzorem Maclaurina w przedziale \(\displaystyle{ \left[0,\frac{\pi}{2}\right]}\). Wiadomo, że

\(\displaystyle{ \left|\sin x-\left(x-\frac{x^3}{3!}+\dots+(-1)^{n+1}\frac{x^{2n-1}}{(2n-1)!}\right)\right|\le\frac{|x|^{2n+1}}{(2n+1)!}}\)

To właśnie oszacowanie błędu we wzorze Maclaurina dla sinusa. No i wystarczy że podstawisz sobie \(\displaystyle{ x=\frac{\pi}{2}}\), a szybciutko zobaczysz, jak wysokiego \(\displaystyle{ n}\) potrzeba dla z góry zadanej dokładności. Powiedzmy \(\displaystyle{ 10}\)-miejscowej, czyli rzędu \(\displaystyle{ 10^{-11}}\) (wtedy \(\displaystyle{ 10}\) miejsc po przecinku jest pewnych).

Nawiasem mówiąc to wystarczy dla wszystkich funkcji trygonometrycznych - znając sinusa kąta ostrego, znasz od razu cosinusa, tangensa i cotangensa. Tylko jeszcze jest kwestia dzielenia, która produkować może duże błędy w zaokrągleniach.

[Metody numeryczne] Obliczanie wartości funkcji elementarnyc

: 12 lut 2013, o 21:56
autor: ksisquare
Pade i CORDIC

Re: [Metody numeryczne] Obliczanie wartości funkcji elementarnyc

: 20 gru 2020, o 13:28
autor: mdd
Materiały dla ciekawskich i poszukujących:

Kod: Zaznacz cały

http://www.andraka.com/files/crdcsrvy.pdf


CORDIC II: A New Improved CORDIC Algorithm:

Kod: Zaznacz cały

http://liu.diva-portal.org/smash/get/diva2:912029/FULLTEXT01.pdf

Re: [Metody numeryczne] Obliczanie wartości funkcji elementarnyc

: 20 gru 2020, o 13:33
autor: mdd
Ciekawa prezentacja:

Kod: Zaznacz cały

https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=&cad=rja&uact=8&ved=2ahUKEwiugtLAyNztAhWEHXcKHevqBEEQFjAAegQIBRAC&url=https%3A%2F%2Fwww.mit.bme.hu%2Fsystem%2Ffiles%2Foktatas%2Ftargyak%2F8497%2FCORDIC_ppt.pdf&usg=AOvVaw3h1cCQwMxVkdiS8X0xxNt4

Re: [Metody numeryczne] Obliczanie wartości funkcji elementarnyc

: 20 gru 2020, o 17:15
autor: szw1710
Zobaczę. :) Archeologia górą. Brawo za znalezienie wykopaliska. :)

Re: [Metody numeryczne] Obliczanie wartości funkcji elementarnyc

: 31 gru 2020, o 12:47
autor: mdd
Świetny materiał:

Kod: Zaznacz cały

https://repositories.lib.utexas.edu/bitstream/handle/2152/1472/arbaughj20424.pdf


Wszystkiego dobrego w Nowym Roku!

Re: [Metody numeryczne] Obliczanie wartości funkcji elementarnyc

: 16 sty 2021, o 13:30
autor: mdd
Uogólniony CORDIC w pigułce:

Kod: Zaznacz cały

https://en.wikibooks.org/wiki/Digital_Circuits/CORDIC


"Scale free CORDIC":

Kod: Zaznacz cały

https://hal.archives-ouvertes.fr/hal-01327460/document

Re: [Metody numeryczne] Obliczanie wartości funkcji elementarnyc

: 7 paź 2021, o 02:08
autor: mdd

Kod: Zaznacz cały

https://en.wikipedia.org/wiki/Logarithm
Feynman's algorithm

While at Los Alamos National Laboratory working on the Manhattan Project, Richard Feynman developed a bit-processing algorithm that is similar to long division and was later used in the Connection Machine. The algorithm uses the fact that every real number \(\displaystyle{ 1 < x < 2}\) is representable as a product of distinct factors of the form \(\displaystyle{ 1 + 2^{−k}}\). The algorithm sequentially builds that product \(\displaystyle{ P}\): if \(\displaystyle{ P \cdot (1 + 2^{−k}) < x}\), then it changes \(\displaystyle{ P}\) to \(\displaystyle{ P \cdot (1 + 2^{−k})}\). It then increases \(\displaystyle{ k}\) by one regardless. The algorithm stops when \(\displaystyle{ k}\) is large enough to give the desired accuracy. Because \(\displaystyle{ \log(x)}\) is the sum of the terms of the form \(\displaystyle{ \log(1 + 2^{−k})}\) corresponding to those \(\displaystyle{ k}\) for which the factor \(\displaystyle{ 1 + 2^{−k}}\) was included in the product \(\displaystyle{ P}\), \(\displaystyle{ \log(x)}\) may be computed by simple addition, using a table of \(\displaystyle{ \log(1 + 2^{−k})}\) for all \(\displaystyle{ k}\). Any base may be used for the logarithm table.

Kod: Zaznacz cały

https://math.stackexchange.com/questions/879241/feynmans-algorithm-for-computing-a-logarithm-of-a-number-in-1-2