Mateusz Mazurek – programista z pasją

Python, architektura, ciekawostki ze świata IT

Programowanie

Aproksymacja wartości pierwiastka ntego stopnia

Cześć! Cieszę się, że mnie odwiedziłeś/aś. Zanim przejdziesz do artykułu chciałbym zwrocić Ci uwagę na to, że ten artykuł był pisany kilka lat temu (2013-02-03) miej więc proszę na uwadzę że rozwiązania i przemyślenia które tu znajdziesz nie muszą być aktualne. Niemniej jednak zachęcam do przeczytania.

Wartość pierwiastka n-tego stopnia z liczby A można w łatwy, iteracyjny sposób wyznaczyć korzystając z wzoru:

pierwiastek

Klasa Java:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
public class Sqrt {

    double A;
    double n;
    int eps=1000;

    public Sqrt1(double A, double n) {
        this.A = A;
        this.n = n;
    }

    public Sqrt1(double A, double n, int eps) {
        this.A = A;
        this.n = n;
        this.eps=eps;
    }

    public double approx(){

        double x0=A;
        int i=1;
        double tab[] = new double[eps];
        tab[0]=x0;
        while(i<eps) {
            tab[i]=(1/(n))*(((n-1)*tab[i-1])+ (A/(Math.pow(tab[i-1], n-1))));

            i++;
        }

        return tab[eps-1];
    }

}

Użycie klasy jest proste:

1
2
Sqrt a = new Sqrt(2, 3);
System.out.print(a.approx());

Pole eps to ilość iteracji, czyli dokładności przybliżenia. 1000 daje poprawne wyniki.

Dzięki za wizytę,
Mateusz Mazurek

A może wolisz nowości na mail?

Subskrybuj
Powiadom o
guest

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.

0 komentarzy
Inline Feedbacks
View all comments