簡體   English   中英

java中函數的導數

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM