2012-02-16 36 views
6

tôi phải có một khối tinh thần, nhưng tôi chỉ đơn giản là không thể tìm thấy điều ngược lại chức năng toán học này:ngược của x = pow là gì (y, 5)

x = pow (y, 5);

Tôi có x và 5, làm cách nào để tìm y?

Đây là một snip mã hiện tại của tôi:

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

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

Tôi đoán nó được gọi là thư mục gốc của thứ n quyền lực. –

+1

Không, nó sẽ là lôgarit nếu cơ số là 5 và số mũ là y. –

+0

Tôi biết tôi có thể tin tưởng vào tất cả các bạn ở đây trên StackOverflow! Cảm ơn tất cả vì tất cả các câu trả lời! – Benjamin

Trả lời

11

Hãy thử điều này (pseudo-code): y = pow (x, 1.0/5);

+2

sai, 1/5 sẽ đánh giá là 0 vì đó là phân chia số nguyên (không có vấn đề gì 'pow 'chức năng mất một đôi). –

+3

@ H2CO3 Tôi đã đề cập rằng đó là giả mã - Tôi không biết Objective C. Mặc dù, phải quản trị nó là điều khá rõ ràng cho bất kỳ ngôn ngữ C-nguồn gốc. –

+1

Xin lỗi, bạn nói đúng. –

5

Bạn cần phải tìm ra gốc 5th của y, đó là 1/điện 5th :

return pow(volume, 1.0/5); 
0

Ví dụ:

5 = pow(y, 5); 

=>

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

bạn có thể sử dụng tính năng này.

nếu x = y^5

sau đó y = x^1/5 có nghĩa là y = x^0,2

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

Hãy thử điều này

Y=Math.Log(x)/Math.Log(5) 
Các vấn đề liên quan