Article View: be.comp.programming
Article #7900Re: wiskundige functies in c++
From: Philip Paeps
Date: Fri, 19 Jul 2002 18:17
Date: Fri, 19 Jul 2002 18:17
82 lines
3564 bytes
3564 bytes
TRAX <Stijn.Verspeet@pandora[delete.this].be> wrote:
[...]
> mijn klein probleempje is het volgende. uit mijn nota's blijkt dat de
> inverse van log(double x) gelijk is aan ln(double x)
Ik denk dat je even je nota's 'elementaire wiskunde' erbij zult moeten nemen.
De inverse van log(x) is niet ln(x). (Eerder 10^x, in de veronderstelling dat
log het 'common' logarithme is (vergeef me mijn Nederlands, ik ben steeds in't
Engels naar school geweest), of e^x als het het 'natural' logarithme is).
De algemene logarithmische functie is:
x = b^(logb(x))
ln is het 'natuurlijk logarithme', of het logarithme uit basis e. Kan dus ook
geschreven worden als loge(x).
> nu zit mijn goede vriend borland hier te neuten dat hij de functie ln niet
> kent, iemand die de juiste functie hiervoor dan wel kent?
Ja.
In C (zoals je in math(3) en exp(3m) kunt lezen, wordt het natuurlijk log
berekend met log(), en de omgekeerde functie is exp(). Het common log bereken
je met log10. Voor andere logs moet je gewoon de formule gebruiken om om te
zetten naar log10 of loge. Die formule ontgaat me even, en ik heb geen zin om
ze uit te rekenen.
Zoals met alle functies in math.h, gewoon een f achter de functie naam voor
floating point berekeningen, een m erachter om kleine waarden te berekenen.
Voorbeeld:
| #include <stdio.h>
| #include <math.h>
|
| int main()
| {
| /* Demonstrating logs */
|
| double x = 25.0,
| y, z, q, r;
|
| y = log(x);
| z = log10(x);
|
| q = exp(y);
| r = pow(10, z);
|
| printf("ln(%f) = %f\n", x,y);
| printf("log(%f) = %f\n\n", x,z);
|
| printf("e^%f = %f\n", y, q);
| printf("10^%f = %f\n", z, r);
|
| return 0;
| }
Bij het uitvoeren (niet vergeten de math-library in te linken), krijg je dan:
| (philip@juno)~/programming/blub% ./math
| ln(25.000000) = 3.218876
| log(25.000000) = 1.397940
|
| e^3.218876 = 25.000000
| 10^1.397940 = 25.000000
> ik heb mij al suf gezocht op google en allerlei sites die een beetje
> begrijpbaar zijn voor beginners als ik maar niks gevonden
Waarom? Staat gewoon in de manual. Math(3) en exp(3m)...
[...]
- Philip
--
Philip Paeps philip@paeps.cx
Serving coffee on aircraft causes turbulence.
Technical Details
Message-ID:
<%IYZ8.17422$8o4.2479@afrodite.telenet-ops.be>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-06!sn-xit-01!sn-xit-08!supernews.com!isdnet!skynet.be!skynet.be!ossa.telenet-ops.be!afrodite.telenet-ops.be.POSTED!not-for-mailReferences:
<6JXZ8.4326$632.468671557@hestia.telenet-ops.be>Show Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII-7-bit
X-Google-Thread: fcea4,3660c75d0fe764cc
X-Google-Attributes: gidfcea4,public
X-Google-ArrivalTime: 2002-07-19 11:22:54 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-06!sn-xit-01!sn-xit-08!supernews.com!isdnet!skynet.be!skynet.be!ossa.telenet-ops.be!afrodite.telenet-ops.be.POSTED!not-for-mail
Sender: Philip Paeps <philip@juno.home.paeps.cx>
From: Philip Paeps <philip@paeps.cx>
Subject: Re: wiskundige functies in c++
Newsgroups: be.comp.programming
References: <6JXZ8.4326$632.468671557@hestia.telenet-ops.be>
User-Agent: tin/1.5.14-20020718 ("Chop Suey!") (UNIX) (FreeBSD/4.6-STABLE (i386))
Lines: 82
Message-ID: <%IYZ8.17422$8o4.2479@afrodite.telenet-ops.be>
Date: Fri, 19 Jul 2002 18:17:31 GMT
NNTP-Posting-Host: 213.118.135.50
X-Complaints-To: abuse@telenet.be
X-Trace: afrodite.telenet-ops.be 1027102651 213.118.135.50 (Fri, 19 Jul 2002 20:17:31 MET DST)
NNTP-Posting-Date: Fri, 19 Jul 2002 20:17:31 MET DST
Organization: Telenet Internet