[英]Convert math expression into C or Java code
我需要將此表達式重寫為代碼(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)
的問題是將ln^2(f0/f)
轉換為代碼。
這是(pow(ln(fo/f),2))
和ln^3(f0/f)
是pow(ln(f0/f),3)
嗎?
謝謝。
翻譯表達式:
val = 1 / { g + h[ ln(f0 / f) ] + i[ ln^2(f0 / f) ] + j[ ln^3(f0 / f) ] - 273.15}
Java的 :
在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 :
在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);
在Java中, ln^n(f0/f)
為: Math.pow(Math.log(f0/f), n)
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);
為了理解Java中的隨時可用的內置Math函數,您可以將java.lang.Math轉換為javadoc
例如,您可以在其中找到log(double) 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.