[英]Derivative of a function in java
我在這里遇到了一個 java 類的問題,我應該用它來顯示一個函數及其派生類。
在這種情況下,它應該是一個 CONSTANT :
public class Constant implements Formula {
private double value;
public Constant(double value) {
this.value = value;
}
@Override
public double eval(double value) {
return value;
}
@Override
public String toString() {
return String.valueOf(value);
}
@Override
public Formula derivative() {
return new Constant(0);
}
這是我如何使用它
PlottableFunction function = new PlottableFunction(new Constant(1), "f");
addFunctionAndItsDerivative(function);
我的功能:
public class PlottableFunction {
private Formula formula;
private String name;
private static final double PRECISION = 0.01;
private boolean isPlotted = false;
PlottableFunction(Formula formula, String name) {
this.formula = formula;
this.name = name;
}
@Override
public String toString() {
return name + "(x) = " + formula;
}
public PlottableFunction derivative(){
return new PlottableFunction(formula.derivative(), name + "'");
}
但是當我使用它時,它並沒有像它應該的那樣顯示功能。 它在中心返回一條對角線,就像 f(x)=x 對於函數和它的導數一樣,而不是 f(x)=1 的水平線和 x 軸上方的水平線作為其導數這當然等於0。
您的代碼很難遵循。 您的 Constant 類中的方法使用@Override
進行注釋,但沒有超類或接口,所以我猜您的 eval 方法的實現是錯誤的。
我認為,你的實現應該是
@Override
public double eval(double value) {
return this.value;
}
返回常量的常量值而不是 value 參數,它應該是應該評估常量的點。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.