2012-02-16 181 views
6

我必须有一个心理障碍,但我根本找不到这个数学函数的反向:x = pow(y,5)是什么反函数

我有x和5,我该如何找到y?

这里是我当前的代码剪断:

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

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

我想这称为第n个的根功率。 – 2012-02-16 10:05:34

+1

不,如果基数是5,指数是y,那么这将是对数。 – 2012-02-16 10:05:40

+0

我知道我可以指望你在StackOverflow上的所有人! 谢谢大家的所有答案! – Benjamin 2012-02-16 10:21:36

回答

11

试试这个(伪代码):y = pow (x, 1.0/5);

+2

错误,1/5将评估为0,因为它是整数除法(不管'pow '函数需要一倍)。 – 2012-02-16 10:05:06

+3

@ H2CO3我已经提到它是伪代码 - 我不知道Objective C。尽管如此,对于任何C语言来说,管理它都是非常明显的事情。 – 2012-02-16 10:06:56

+1

对不起,你是对的。 – 2012-02-16 10:08:12

5

你必须找到y的第5根,这是1/5次方:

return pow(volume, 1.0/5); 
0

如:

5 = pow(y, 5); 

=>

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

你可以使用这个。

如果X = Y^5

然后Y = X^2/10表示Y = X^0.2

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

尝试此

Y=Math.Log(x)/Math.Log(5) 
相关问题