天天看點

Java 求函數零點代碼

package hanshu;

public class qiulingdian {

public static void main(String[] args) {
   // TODO Auto-generated method stub
    //分析:
   //1.定義變量  注意數字類型  double while 循環和for循環都可以。//趙孟碩  20214005074 
   
   double L = 1.5 , R=2.4 , M=0;
   while(R-L>0.00001) {
      M = (L+R)/2;
      if(function(M)>0) {
         L=M; 
      } 
      else {
         R=M;
      } 
    }
   //2.列印結果  注意:保留幾位數 f前面加幾
   System.out.println("輸出結果為:");//    println自帶換行
   System.out.printf("%,6f",M);//     printf不帶換行效果。
}
   //3. 定義一個新函數 
 public static double function(double x) {
    double y=Math.pow(x, 5)-15*Math.pow(x, 4)+85*Math.pow(x, 3)-225*Math.pow(x, 2)+274*x-121; //Math.pow(a,b)函數表示 a的b次方幂
    return y;      
 }      

}

  需要特别注意的是 :  Math.pow(x,n)函數表示的是x的n次方幂   求其他函數的零點時換一下數字就行。