用java语言求解一个复杂的代数公式
我试图用Java在以下等式中求解y: 为了便于观察,我把分子和分母分成了不同的变量。我需要计算用java语言求解一个复杂的代数公式,java,algebra,Java,Algebra,我试图用Java在以下等式中求解y: 为了便于观察,我把分子和分母分成了不同的变量。我需要计算x=-3到x=4的增量0.5 for(double x = -3; x <= 4; x += .5) { // Now we compute the formula for all values in between -3 and 4 in increments of 0.5 double top = ( 9 * Math.pow(x, 3) ) - ( 27 * Math.p
x=-3
到x=4
的增量0.5
for(double x = -3; x <= 4; x += .5)
{
// Now we compute the formula for all values in between -3 and 4 in increments of 0.5
double top = ( 9 * Math.pow(x, 3) ) - ( 27 * Math.pow(x, 2) ) - ( (4 * x) + 12 );
double bottom = ( Math.pow(( 3 * Math.pow(x, 2) + 1 ) , 1/2) + Math.abs( 5 - (Math.pow(x, 4)) ) );
double y = top / bottom;
System.out.print("X = " + x + "\t Y = " + y);
}
使用在线工具,我计算了X=0,得到了2,而不是-2。我的计算方法有问题吗?您在实现表达式时犯了一个错误
... - ( (4 * x) + 12 )
应该是
... - (4 * x) + 12
或者用完整的表达:
double top = ( 9 * Math.pow(x, 3) ) - ( 27 * Math.pow(x, 2) ) - (4 * x) + 12;
还注意到:
1/2
计算结果为0,因为它是一个整数除法。但是,如果您计算forx=0
,这没有任何区别。这可以用0.5
来纠正。您的公式中有一个小错误:
1/2
在Java中等于0
;见:
要解决此问题,只需键入0.5
,或使用1/2D
或1D/2
有关代码的另一个问题,请参阅。您将发现1/2=0。对于x=0,该问题已正确解决,但对于其他值,如
x=-2.5
,该值应等于−7.463007
。谢谢。@davidxd33刚刚更新了我的答案。实际上还有一个错误,请注意,非常感谢您的快速帮助,我知道了。@ifly6更正。但是你忘了负号-((4*x)+12)
是需要更正的完整表达式。我会更新答案。用负号确实会有很大的不同。这就是保罗回答的问题所在。你不知道这有多头痛。
1/2