Koreni in Logaritmi

O matematiki, številih, množicah in računih...
ZdravaPamet
Prispevkov: 2842
Pridružen: 16.8.2004 19:41

Odgovor Napisal/-a ZdravaPamet »

Za celi del ugibaš. Pogledaš v tabelo kubov števil in najdeš eno večje število in eno manjše. Recimo za tretji koren števila 2365: 2744 je kub 14 in 2197 je kub 13, se pravi, da je tretji koren 2365 med 13 in 14.

alexa-lol
Prispevkov: 380
Pridružen: 12.5.2006 19:57

Odgovor Napisal/-a alexa-lol »

ja to razumem da lahko ugibas vendar a ne obstaja kaksen algoritem?
hocem narediti program ki ti pac priblizno pove x-ti koren nekega stevila

ZdravaPamet
Prispevkov: 2842
Pridružen: 16.8.2004 19:41

Odgovor Napisal/-a ZdravaPamet »

No saj, to je tisto, kar mislim, da počno računalniki. Recimo, kako izračunati kvadratni koren recimo števila 2:
Očitno je med 1 in 2. Interval 1 do 2 razdeliš na desetine: 1,1 ; 1,2 ; 1,3 ;...; 1,9 ; 2. Številke kvadriraš in najdeš najožji interval, ki zajema 2, potem tega razdeliš recimo na desetine in narediš isto.
\(1,4^{2} \ldots 2\ldots 1,5^{2}\)
\(1,41^{2}\ldots 2\ldots 1,42^{2}\)
\(1,414^{2}\ldots 2\ldots 1,415^{2}\)

alexa-lol
Prispevkov: 380
Pridružen: 12.5.2006 19:57

Odgovor Napisal/-a alexa-lol »

aha?
a pol mogoce ves ukaz za koren v c++ al pa u PHPju

ZdravaPamet
Prispevkov: 2842
Pridružen: 16.8.2004 19:41

Odgovor Napisal/-a ZdravaPamet »

Mislim, da bo sintaksa kar sqrt. Ne ukvarjam se veliko s programiranjem, zato naj ti raje kdo drug svetuje. Tule pa je morda pomoč:
http://www.cplusplus.com/ref/cmath/sqrt.html

Uporabniški avatar
GJ
Prispevkov: 2635
Pridružen: 27.1.2003 22:08

Odgovor Napisal/-a GJ »

Mafijec napisal/-a:@ZdravaPamet: Mogoče kaj veš, ali tako kalkulatorji računajo?
No jaz vem.. :lol:
Če ti to kaj pomaga..
Poglej si najprej IEEE 754 standard, ki govori o matematiki s plavajočo vejico.. primer za PIC16/17 procesorje!
Za funkcije ala SQRT, LN... pa si oglej pdf.. http://ww1.microchip.com/downloads/en/A ... /00660.pdf

Lep večer..

Mafijec
Prispevkov: 472
Pridružen: 12.12.2005 21:36

Odgovor Napisal/-a Mafijec »

Huh, trenutno nimam časa, da bi tole bral.. Sicer pa hvala za link.

Uporabniški avatar
bargo
Prispevkov: 8301
Pridružen: 3.11.2004 22:41

Odgovor Napisal/-a bargo »

Mafijec napisal/-a:Huh, trenutno nimam časa, da bi tole bral.. Sicer pa hvala za link.
Za korenjenje uporabiš ukaz potenciranja: recimo Power(64,1/2) je koren iz 64

Uporabniški avatar
GJ
Prispevkov: 2635
Pridružen: 27.1.2003 22:08

Odgovor Napisal/-a GJ »

Mafijec napisal/-a:Huh, trenutno nimam časa, da bi tole bral.. Sicer pa hvala za link.
NC.. :lol:

No morda bo tale funkcija SQRT v Cju bolj prebavljiva ..

Koda: Izberi vse

float sqrt(float x)
{       
    int n;
    tUfloat32 Ret;
    tIEEE xIEEE;
    FTYPE type;

    Ret.f = x;
    type = _UnpkMath(Ret, &xIEEE);

    if(type == _NANTYPE)
        Ret.l = NaN;

    else if(Ret.f < 0)
        {
        errno = EDOM;
        Ret.l = NaN;
        }

    else if(type & (_ZEROTYPE | _INFTYPE) )
        return Ret.f;

    else 
        {
        int i;
        int round;
        int sticky;
        unsigned long q;
        unsigned long r;
        unsigned long b;
        n = xIEEE.exp + (2 - FLT_BIAS);
        r = xIEEE.sig;
        if(n & 1)
            {
            n--;
            r <<= 1;
            }
        n /= 2;
        q = 0;
        b = 0x04000000ul >> 2;
        for(i = 1; i < 26; ++i)
            {
            long t;
            r = r << 1;
            t = r - ( (q<<1) + b);
            if(t > 0)
                {
                r = t;
                q |= b;
                }
            b >>= 1;
            }
        round = q & 1;
        sticky = r;
        q >>= 1;
        if(round && (sticky || (q & 1)))
            {
            q++;
            }
        xIEEE.sgn = 0;
        xIEEE.sig = q;
        xIEEE.exp = - 1 + FLT_BIAS;
        _PackMath(&xIEEE, &Ret);
        Ret.f = ldexp( Ret.f, n);
        }
    return(Ret.f);
}


void _PackMath( tIEEE *pIEEE, tUfloat32 *pX)
{
    if(pIEEE->exp > 0xFE )
        {
        // Overflow - return +/- infinity
        errno = ERANGE;
        if(pIEEE->sgn)
            pX->l = NEGINF;
        else
            pX->l = POSINF;
        }
    else if(pIEEE->exp < 1 )
        {
        // Underflow - return +/- Zero
        errno = ERANGE;
        if(pIEEE->sgn)
            pX->l = NEGZERO;
        else
            pX->l = POSZERO;
        }
    else
        {
        pX->l = pIEEE->sig;
        if(pIEEE->exp & 1)
            pX->ub[2] |= 0x80;
        else
            pX->ub[2] &= 0x7F;

        pX->ub[3] = pIEEE->exp >> 1;
        if(pIEEE->sgn)
            pX->ub[3] |= 0x80;
        }
}
Lep dan želim..

jamar123
Prispevkov: 11
Pridružen: 10.12.2012 19:50

Re: Koreni in Logaritmi

Odgovor Napisal/-a jamar123 »

zna kdo rešit to enačbo in na hitro malo razložit
Ln=naravni logaritem

2Ln ((3X-2)/(4))-3=2

Uporabniški avatar
Aniviller
Prispevkov: 7263
Pridružen: 15.11.2004 18:16

Re: Koreni in Logaritmi

Odgovor Napisal/-a Aniviller »

No, trojko neses na desno in delis z 2, tako da logaritem ostane sam:
\(\ln \frac{3x-2}{4}=\frac{5}{2}\)
Zdaj delujes na celo enacbo z eksponentno funkcijo
\(\frac{3x-2}{4}=e^{5/2}\)
naprej bo pa najbrz slo...

Odgovori