将数学表达式转换为C或Java代码
我需要将此表达式重写为代码(C或Java):将数学表达式转换为C或Java代码,java,c,expression,Java,C,Expression,我需要将此表达式重写为代码(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) 谢谢。为了理解Java中的现成内置数学函数,您可以使用javadoc 例如,您可以在这里找到。为了理解Java中内置的现成数学函数,您可以使用ja
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)
谢谢。为了理解Java中的现成内置数学函数,您可以使用javadoc
例如,您可以在这里找到。为了理解Java中内置的现成数学函数,您可以使用javadoc
例如,在java中,
ln^n(f0/f)
将是:Math.pow(Math.log(f0/f),n)
在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:
val = 1/{g+h[ln(f0/f)]+i[ln^2(f0/f)]+j[ln^3(f0/f)]-273.15;
在Java中,类为数学运算提供了不同的方法:
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);
double logRes = log(f0 / f);
double result = 1.0 / (g + (h * logRes) + (i * pow(logRes, 2.0)) + (j * pow(logRes, 3.0)) - 273.15);
C:
val = 1/{g+h[ln(f0/f)]+i[ln^2(f0/f)]+j[ln^3(f0/f)]-273.15;
在C语言中,提供不同的函数来执行数学运算:
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);
double logRes = log(f0 / f);
double result = 1.0 / (g + (h * logRes) + (i * pow(logRes, 2.0)) + (j * pow(logRes, 3.0)) - 273.15);
翻译这个短语:
val = 1 / { g + h[ ln(f0 / f) ] + i[ ln^2(f0 / f) ] + j[ ln^3(f0 / f) ] - 273.15}
Java:
val = 1/{g+h[ln(f0/f)]+i[ln^2(f0/f)]+j[ln^3(f0/f)]-273.15;
在Java中,类为数学运算提供了不同的方法:
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);
double logRes = log(f0 / f);
double result = 1.0 / (g + (h * logRes) + (i * pow(logRes, 2.0)) + (j * pow(logRes, 3.0)) - 273.15);
C:
val = 1/{g+h[ln(f0/f)]+i[ln^2(f0/f)]+j[ln^3(f0/f)]-273.15;
在C语言中,提供不同的函数来执行数学运算:
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);
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)
在Cadding#include
和addinglibm
中。表达式的任何地方都没有结束括号吗?是的,我错了……自然对数是log(x)
而不是ln(x)
在Cadding#include
和addinglibm
中。表达式的任何地方都没有结束括号吗?是的,我的错误……你的代码中有f0/f0
,应该是f0/f
你的代码中有f0/f0
,应该是f0/f