gpt4 book ai didi

java - Math.log 负返回可能会损害 Kt/V 计算

转载 作者:行者123 更新时间:2023-12-02 03:37:23 25 4
gpt4 key购买 nike

我是java编程新手,并且使用它的数学类,所以我的问题可能是菜鸟的问题,解决方案是显而易见的。然而,如果有人告诉我我错在哪里,我宁愿在这里拿我的声誉冒险,并被投进 hell 深渊。
所以这里有一个简单的代码,应该通过公式 spKT/V = -ln(R - 0.008 * t) + (4 - 3.5 * R) * 0.55 * (UF/V) 计算 singlepool KT/V (肾脏病学中的计算)
我有一本教科书,其中 KT/V 具有提到的值:
R = 0.35,t = 3,UF/V = 0.06 最终结果为 1.21。
我在编译后运行这个类得到-1.029。
我有两个问题:
1. 为什么我得到负数以及如何将其更改为正数? (猜测,这与数学日志有关)
2. 是我代码搞砸了还是课本错了?如果那是我错了,要改变什么才能得到1.21?

任何意见都将受到高度赞赏。提前感谢大家。

import java.*;
public class nephro {

public static void main (String[] args) {

System.out.println(spKTV());

}
public static double logrfm() {
double logX = x(0.35, 3);
double left = Math.log(logX);
return left;
}
public static double x(double R, double t) {
double x_res = (R - 0.008 * t);
return x_res;
}
public static double rufv (double R, double UFV) {
double rufv = (4 - 3.5 * R) * (0.55 * UFV);
return rufv;
}
public static double spKTV(){
double result = logrfm() + rufv(0.35, 0.06);
return result;
}
}

最佳答案

1) 由于计算错误,您得到了负值。

2)这本书是正确的(你可以用袖珍计算器检查一下)。代码中的问题在这里:

double left = Math.log(logX);

应该是:

double left = - Math.log(logX);

顺便说一句。如果代码不分成这么多方法,会更容易理解。

关于java - Math.log 负返回可能会损害 Kt/V 计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37283858/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com