[Wiskunde en Algoritme] Logaritme

Pagina: 1
Acties:
  • 113 views sinds 30-01-2008
  • Reageer

  • MaxxRide
  • Registratie: April 2000
  • Laatst online: 09-01 10:13
Hoi,

ik vroeg me af hoe ik een recursieve implemenatie maak van de logiritmische functie (g log x = a).

Dus een procedure (g,x : integer; VAR a).

Ik zou dan in de recursieve aanroep willen doen met g^2.
Heeft iemand een idee? Dan wel code danwel een wiskundige benadering? Ik zit namelijk helemaal vast!

* MaxxRide weet niet eens waar te beginnen heeft al gegoogled en zijn wiskunde boeken nageslagen!

:'(

If you are not wiping out you are nog pushing enough...


  • Grum
  • Registratie: Juni 2001
  • Niet online
log x = a
log g

en volgens mij heeft ELKE taal wel een logfunctie :D

  • MaxxRide
  • Registratie: April 2000
  • Laatst online: 09-01 10:13
Het gaat er dus om dat ik deze zelf maak. :)
Ik weet dat iedere taal een log functie heb, ik moet alleen een bewijs maken voor een recursieve procedurele implementatie van deze functie :)

If you are not wiping out you are nog pushing enough...


  • odysseus
  • Registratie: Augustus 2000
  • Laatst online: 27-08 21:58

odysseus

Debian GNU/Linux Sid

Kun je niet even kijken in de code van een andere programmeertaal? Als je Linux hebt draaien dan heb je nog ergens een math.h en een mathinline.h staan, daarin wordt het een en ander gedefinieerd voor logaritmes en dergelijke. Met wat puzzelen moet je er dan wel uit kunnen komen wat ze precies doen lijkt me :).

Leven is het meervoud van lef | In order to make an apple pie from scratch, you must first create the universe.


  • blobber
  • Registratie: Juli 2000
  • Niet online

blobber

Sol Lucet Omnibus

Kan je niet een of andere reeks ontwikkeling (zoals Taylor) gebruiken?

To See A World In A Grain Of Sand, And A Heaven In A Wild Flower, Hold Infinity In The Palm Of Your Hand, And Eternity In An Hour


  • MaxxRide
  • Registratie: April 2000
  • Laatst online: 09-01 10:13
mmmh,

eigenlijk zoek ik een soort inductief bewijs.
Alleen ik kan niet op de basisstap komen.

De inductiestap ben ik ook nog niet helemaal uit :(

If you are not wiping out you are nog pushing enough...


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 03:21

.oisyn

Moderator Devschuur®

Demotivational Speaker

odysseus schreef op 17 November 2002 @ 14:19:
Kun je niet even kijken in de code van een andere programmeertaal? Als je Linux hebt draaien dan heb je nog ergens een math.h en een mathinline.h staan, daarin wordt het een en ander gedefinieerd voor logaritmes en dergelijke. Met wat puzzelen moet je er dan wel uit kunnen komen wat ze precies doen lijkt me :).


ja, het gebruik van asm instructies zal best wel handig zijn ;)

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • Apollo_Futurae
  • Registratie: November 2000
  • Niet online
Pinda schreef op 17 november 2002 @ 13:36:
ik moet alleen een bewijs maken voor een recursieve procedurele implementatie van deze functie
je hebt dus een algoritme waar je de juistheid van moet bewijzen?
of moet je zelf een algoritme ontwerpen?

Pas de replâtrage, la structure est pourrie.


  • MaxxRide
  • Registratie: April 2000
  • Laatst online: 09-01 10:13
Het idee is dat ik zelf een algoritme ontwerp. dit zou een recursieve implementatie moeten zijn met dus een basisstap (voor terminatie) en een inductiestap (om te 'verkleinen').

Ik heb alleen de log functie niet goed genoeg om dit voorelkaar te rkijgen :'(

If you are not wiping out you are nog pushing enough...


Verwijderd

Dit klinkt ontzettend als een huiswerkvraag, en daar zijn regels voor die je nog maar eens moet nalezen, want deze post voldoet daar duidelijk niet aan: Welkom in P&W (FAQ-15/10/2002)

  • MaxxRide
  • Registratie: April 2000
  • Laatst online: 09-01 10:13
Nee het is geen(!) huiswerkvraag. Er staat in het boek een opgave hierover die ik zelf(!) wil maken, dus niet voor school!

If you are not wiping out you are nog pushing enough...


  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

Pinda schreef op 18 November 2002 @ 09:04:
Nee het is geen(!) huiswerkvraag. Er staat in het boek een opgave hierover die ik zelf(!) wil maken, dus niet voor school!
Huiswerk of zelfstudie... achterliggende gedachte blijft het zelfde. Verrijking van de geest.

Alleeen zijn mensen die huiswerk leveren (vaak) minder gemotiveerd om het zelf op te lossen.

Maar goed...

Wat heb je zelf al bedacht?

Programmer - an organism that turns coffee into software.


  • MaxxRide
  • Registratie: April 2000
  • Laatst online: 09-01 10:13
Ik zit te denken aan een basisstap in de vorm van

b log 1 = 1

De inductiestap iets van

b^2 log wortel(g) oid?

Ik weet het nog niet precies, ik ben er al wel druk over aan het nadenken en ga zo ook nog even bezig. Als ik op een resultaat kom post ik ehm nog wel.

Als iemand anders nog een zetje in de goede richting kan geven: graag!

Dus if g = 1 then result := 1
else
b^2 log wortel(g)

If you are not wiping out you are nog pushing enough...


  • MaxxRide
  • Registratie: April 2000
  • Laatst online: 09-01 10:13
Ik heb denk ik al een oplossing, deze post ik later nog even. Wat ik hiervoor schreef slaat iig nergens op!

Tot zo, of vanavond oid!

If you are not wiping out you are nog pushing enough...


  • MaxxRide
  • Registratie: April 2000
  • Laatst online: 09-01 10:13
code:
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
procedure TForm1.Button1Click(Sender: TObject);
  procedure log(b: extended;x : extended; VAR y,p: extended);
  begin
    if x = 1 then
    begin
      y := 0;
      p:= 1;
    end
    else
    begin
      if (b<= x) AND (power(b,2) > x) then
      begin
        y := 1;
        p := b;
      end
      else
      begin
        log(power(b,2), x, y,p);
        y := 2 *y;
      end;
    end;

  end;

var
  y,p : extended;


begin
  log(strToInt(edit1.text), StrToInt(edit2.text), y, p);
  label1.Caption := FloatToStr(y)+' oo  '+FloatToStr(p);
end;


Dit is het uiteindelijk geworden, ik heb het bewijs eruit weggelaten :)

Op zich werkt ie goed.

If you are not wiping out you are nog pushing enough...

Pagina: 1