2016-02-03 188 views
-1

我想實現這個公式在我的應用程序:Math.log10沒有顯示正確結果

Body Fat (men) = 495/(1.29579 - .35004 * log10(Waist - Neck) + 0.22100 * log10(Height)) - 450 

這樣的:

rezultat = (495/(1.29579 - .35004 * (Math.log10(trecePolje - petoPolje)) + 0.22100 * (Math.log10(drugoPolje/2.54))) - 450); 
中的Java文件trecePolje,drugoPolje和trecePolje

被初始化:

double drugoPolje = Double.parseDouble(editVisina.getText().toString()); 

double trecePolje = Double.parseDouble(editStruk.getText().toString()); 

double petoPolje = Double.parseDouble(editVrat.getText().toString()); 

與drugoPolje 190的值,trecePolje 80和30 petoPolje在seted的EditText我的應用中它輸出-272.96 它應該輸出16.8

任何想法有什麼不對?

下面是計算器:http://bmi-calories.com/body-fat-percentage-calculator.html 確保切換到METRIC單位! 下面你可以看到男士原配方,沒有錯別字。

在該網站上我用100重量,190的高度,80爲腰部,90臀部,30 neckk和18年齡計算。所有這些都以釐米爲單位,因爲它是公制的。 它顯示了16.8的結果

現在我在我的應用程序中做同樣的事情,在trecePolje同樣測量的情況下,petoPolje是nech,drugoPolje是高度。 而結果並不是很接近。結果只是不好的!

+0

當我代替我得到-56.2高度= 190/2.54,腰圍= 80/2.54,頭頸= 30/2.54代入公式。你確定你正確地複製了公式嗎?爲什麼你認爲這些值的正確結果是16.8?你可以在原始背景(學術論文或其他)中給出與公式相關的鏈接,或者如果它在一本書中,爲該頁面拍照並張貼它? –

+0

所有更新的原始文章! – DaxHR

+0

您仍然將「高度」轉換爲英寸,但不會轉換「腰圍」。 – Teepeemm

回答

1

OK,得到的答案是這樣的: 需要整個公式爲公制單位,而不僅僅是高度,腰部和頸部的大小進行調整。

這是修改的公式:

Male Metric Body Fat % = 495/(1.0324-0.19077(log(waist-neck))+0.15456(log(height)))-450 
3

你在該式中日誌10具有3個值(X + Y-Z)。在代碼中它有2(x-z)。

此外,在1個值(高度),你正在做的轉化-1>。你還需要其他人嗎?

第三個問題:在公式中你有.221 * LOG10(高),在代碼中你有.221 +日誌10(高)。

+0

對不起,我複製了錯誤的公式。現在在第一篇文章中編輯 – DaxHR

+0

好的,那麼問題1可以忽略。其他2仍然是問題 –

+0

第三個問題解決了,不敢相信我做了這樣一個愚蠢的錯誤.. 現在我越來越-6.14 要將其轉換爲英寸,我只需要將它除以2.54? – DaxHR