EmmaDB
Artikelen: 0
Berichten: 19
Lid geworden op: zo 06 nov 2011, 15:05

Sage code help aub

Kan iemand mij helpen bij het schrijven van onderstaande code in Sage? Ik noteer de opgave hieronder:

Gegeven twee positieve getallen a en b, met a≥b kunnen we het rekenkundig gemiddelde a1=2a+b en het meetkundig gemiddelde b1=√ab berekenen. Men kan dan bewijzen dat

a≥a1≥b1≥b.

We kunnen nu opnieuw het rekenkundig en meetkundig gemiddelde berekenen van a1 en b1 en deze getallen a2=2a1+b1 en b2=√a1b1 noemen. Op die manier inductief verder werkend krijgen we twee rijen a,a1,a2,... en b,b1,b2,... van positieve getallen die voldoen aan

a≥a1≥a2≥a3≥...≥b3≥b2≥b1≥b.

Beiden rijen zijn dus begrensd, en omdat de ene stijgt en de andere daalt, convergeren ze beiden. Men kan nu aantonen dat ze bovendien naar dezelfde limiet convergeren. Deze limiet noemt men het rekenkundig-meetkundig gemiddelde van a en b.

Schrijf een functie agm(a,b) die als argumenten twee positieve gehele getallen a en b aanneemt en het rekenkundig-meetkundig gemiddelde van deze twee getallen terug geeft, tot op minstens 10 decimalen nauwkeurig.

Ik heb dit heel snel nodig!

Dank bij voorbaat
Gebruikersavatar
317070
Artikelen: 0
Berichten: 5.609
Lid geworden op: za 28 feb 2009, 17:05

Re: Sage code help aub

Wat heb je al?
What it all comes down to, is that I haven't got it all figured out just yet

And I've got one hand in my pocket and the other one is giving the peace sign

-Alanis Morisette-
EmmaDB
Artikelen: 0
Berichten: 19
Lid geworden op: zo 06 nov 2011, 15:05

Re: Sage code help aub

Eigenlijk niet veel. De code die ik dacht die ik moeste gebruiken was de volgende:

var('a b i A B')

a = 1

b = 4

for i in [1..10]:

A = (a+b)/2

B = sqrt(a*b)

a = A

b = B

print(a,b)

maar dan krijg ik een enorm lange lijst getallen waar ik niet wijs uit geraak...

Je weet natuurlijk niet op voorhand over hoeveel iteraties de lus zal moeten lopen, ik heb nu redelijk willekeurig 10 gekozen. maar aangezien je vervolgens ook nog eens de limiet moet berekenen, moet je daar dus ook nog eens rekening mee houden.

Terug naar “Informatica en programmeren”