我需要這個表達式改寫成代碼(C或Java):轉換的數學表達式爲C或Java代碼
g
,h
,i
,j
,f
,f0
是變量
表達:
val = 1/{g+h[ln(f0/f)]+i[ln^2(f0/f)]+j[ln^3(f0/f)]-273.15;
我的問題是將ln^2(f0/f)
轉換爲代碼。
這是(pow(ln(fo/f),2))
和ln^3(f0/f)
是pow(ln(f0/f),3)
?
謝謝。
我需要這個表達式改寫成代碼(C或Java):轉換的數學表達式爲C或Java代碼
g
,h
,i
,j
,f
,f0
是變量
表達:
val = 1/{g+h[ln(f0/f)]+i[ln^2(f0/f)]+j[ln^3(f0/f)]-273.15;
我的問題是將ln^2(f0/f)
轉換爲代碼。
這是(pow(ln(fo/f),2))
和ln^3(f0/f)
是pow(ln(f0/f),3)
?
謝謝。
double result = 1/(g + h*Math.log(f0/f) + i*Math.pow(Math.log(f0/f), 2) + j*Math.pow(Math.log(f0/f), 3) -273.15);
你的代碼中有'f0/f0',應該是'f0/f' –
啊是的 - 已更正 – d80tb7
爲了瞭解準備在觸手可及的內置Java中的數學函數,你可以轉向的Javadoc java.lang.Math
那裏你可以找到log(double)例如。
在java中,ln^n(f0/f)
將是:Math.pow(Math.log(f0/f), n)
翻譯表達:
val = 1/{ g + h[ ln(f0/f) ] + i[ ln^2(f0/f) ] + j[ ln^3(f0/f) ] - 273.15}
爪哇:
在Java中,java.lang.Math
類提供的數學運算不同的方法:
double logRes = Math.log(f0/f); // As ln(f0/f) is been used more than once, so it's
// better to have it calculated just once.
double result = 1.0/(g + (h * logRes) + (i * Math.pow(logRes, 2.0)) + (j * Math.pow(logRes, 3.0)) - 273.15);
Ç:
在C中,math.h
提供不同的功能,以執行數學運算:
double logRes = log(f0/f);
double result = 1.0/(g + (h * logRes) + (i * pow(logRes, 2.0)) + (j * pow(logRes, 3.0)) - 273.15);
自然對數是log'在'(X)'代替'LN(x)的C –
添加'#include'並添加'libm'。 –
LPs
表達式沒有結束大括號嗎? –