2012-02-16 29 views
6

muszę mieć blokadę psychiczną, ale ja po prostu nie mogę znaleźć odwrocie tej funkcji matematycznej:Jaki jest odwrotna x = pow (y, 5)

x = pow (y, 5);

Mam x i 5, jak znaleźć y?

Oto wycinek z mojego obecnego kodu:

+(float) linearVolumeToVolumeCurve:(float)volume 
{ 
    return pow(volume, 5); 
} 

+(float) volumeCurveToLinearVolume:(float)volume 
{ 
    return ??? 
} 
+3

Chyba nazywany pierwiastek uruchamianego n- moc. –

+1

Nie, to byłby logarytm, gdyby baza miała 5, a wykładnik był y. –

+0

Wiedziałem, że mogę na was liczyć na StackOverflow! Dziękuję wszystkim za wszystkie odpowiedzi! – Benjamin

Odpowiedz

11

Spróbuj tego (pseudo-code): y = pow (x, 1.0/5);

+2

źle, 1/5 będzie oceniał na 0, ponieważ jest to dzielenie całkowite (bez względu na "pow funkcja zajmuje podwójną). –

+3

@ H2CO3 Podkreślam, że jest to pseudo-kod - nie znam Celu C. Choć trzeba go administrować, jest to całkiem oczywiste dla każdego języka pochodnego. –

+1

Przepraszam, masz rację. –

5

Trzeba znaleźć 5th pierwiastek Y, który jest 1/5th moc :

return pow(volume, 1.0/5); 
0

Np

5 = pow(y, 5); 

=>

double y = pow(5, (1.0/5.0)); 
0

możesz tego użyć.

, gdy x = y^5

to y = x^1/5 oznacza, y = x^0,2

+(float) volumeCurveToLinearVolume:(float)volume 
{ 
    return powf(volume, 0.2); 
} 
3

Spróbuj

Y=Math.Log(x)/Math.Log(5) 
Powiązane problemy