Matematik

Algoritme/Kvadratrod mm.

05. december 2006 af sluise (Slettet)
Opstil en algoritme, der kan bestemme resultatet af kvadratroden af et vilkårligt helt tal til og
med en ønsket decimal.

Hvis der er nogle der kan komme med hjælp ville jeg være meget taknemlig...
Fortsat god dag - FORZA BARCELONA!


Brugbart svar (0)

Svar #1
05. december 2006 af Madsst (Slettet)

Nu er jeg faktisk ikke helt klar over hvad en algoritme er, men det er vist noget med computerkode ikke? Hvis din dit program kan finde differentialkvotienter kan du approksimerer en hvilken som helst funktion med et vilkårligt antal decimaler med taylors formel:
Denne vil være på formen
f(x)=f(0)+1/1!*f'(0)x+...+1/n!f(n)(0)x^n+R, hvor R er størrelsen af den fejl man begår ved tilnærmelsen og f(n) angiver at f er differentieret n gange. Hvis du skal bruge det mere præcist er jeg sikker på at du kan finde ngoet hvis du googler.

Svar #2
05. december 2006 af sluise (Slettet)

jeg ved ikke om det er rigtigt... men kan ikke finde svaret på det...

Brugbart svar (0)

Svar #3
05. december 2006 af sigmund (Slettet)

Algoritmer til beregning af kvadratroden behandles i ethvert grundkursus inden for numerisk analyse. Prøv og se, hvad du kan få ud af det, der står i afsnittet "Computation" på http://en.wikipedia.org/wiki/Square_root . Tag ellers også et kig på http://mathworld.wolfram.com/SquareRoot.html (anbefales!) Simplere end det kan det næppe blive.

Svar #4
05. december 2006 af sluise (Slettet)

men kan du svaret på opgaven?

Svar #5
05. december 2006 af sluise (Slettet)

jeg søger hjælp... og da linket er engelsk hjælper det mindre... men håber du kan hjælpe lidt...

Brugbart svar (0)

Svar #6
05. december 2006 af sigmund (Slettet)

Et simpelt opslag på Google afslører, at der ikke er et unikt svar. Den simpleste algoritme er ved Newton iteration, som beskrevet på http://mathworld.wolfram.com/SquareRoot.html :

1) Sæt x0 = 1.

2) Sæt xnew = (x0+n/x0)/2, hvor n er det tal, man ønsker at bestemme kvadratroden af.

3) Sæt x0 = xnew, og fortsæt med 1)--3), indtil forskellen mellem x0 og xnew er mindre end en given tolerance tau.

Skal du også skrive et program, der gør det, eller skal du kun beskrive en algoritme, der beregner kvadratroden af et tal n?

Svar #7
05. december 2006 af sluise (Slettet)

skal bare skrive en algoritme der bestemmer resultatet af kvadratroden af et vilkårligt tal... men kan du ikke komme med lidt nærmere oplysninger.. som hjælp...

Brugbart svar (0)

Svar #8
05. december 2006 af sigmund (Slettet)

#7,

Hvad ønsker du nærmere information om? Jeg ved ikke hvad jeg mere skal sige. Er det en udledning af iterationsformlen, du vil høre mere om? I så fald, se http://ga.randers-hf-vuc.dk/matlex/rod.html . Her er det Newton iteration, der er baggrunden.

Svar #9
05. december 2006 af sluise (Slettet)

ja har læst det.. men svarer det på spørgsmålet... hvis du skal give et eksempel?

Brugbart svar (0)

Svar #10
05. december 2006 af sigmund (Slettet)

#9,

Hvilket spørgsmål taler du om? Jeg har ikke set andet end, at du skal opstille en algoritme, der beregner kvadratroden af et tal. En sådan er beskrevet i #6.

Svar #11
05. december 2006 af sluise (Slettet)

hvad er xnew`?

Svar #12
05. december 2006 af sluise (Slettet)

oh hvad betyder det her:
Sæt x0 = xnew, og fortsæt med 1)--3), indtil forskellen mellem x0 og xnew er mindre end en given tolerance tau.

Brugbart svar (0)

Svar #13
05. december 2006 af sigmund (Slettet)

#11,

x0 svarer til x_k i den formel, jeg har vist link til, mens xnew svarer til x_{k+1} i den samme formel.

#12,

Konkret betyder det:

while r > tau

x0 = 1;
xnew = (x0+n/x0)/2;
r = abs(xnew - x0);
x0 = xnew;

end
-----------

Her er tau den ønskede præcision og n det tal, vi ønsker at beregne kvadratroden af. r er den numeriske forskel mellem xnew og x0. Før while-løkken sættes denne til et tal større end tau.

Forresten, hvad er det for et fag, du laver det her i. Er det matematik eller datalogi?

Skriv et svar til: Algoritme/Kvadratrod mm.

Du skal være logget ind, for at skrive et svar til dette spørgsmål. Klik her for at logge ind.
Har du ikke en bruger på Studieportalen.dk? Klik her for at oprette en bruger.