example4_11.java

来自「清华大学2002年出版的《科学与工程数值计算算法Java》配套源码」· Java 代码 · 共 30 行

JAVA
30
字号
import java.applet.*;
import java.awt.*;

public class Example4_11 extends Applet
{ public double f(double x)
  {double y;
   y=Math.exp(-x*x)-Math.tan(x)+800;
   return  y;}
  public double mtcl(double x,double b,double eps)
  {double r=0,y,y1=0;int m=0,n=0;
   y=Math.abs(f(x));
   while(y>eps&&n++<10000)
   { while(m++<100)
    {r=Math.random()*2*b-b;
     y1=Math.abs(f(x+r));
     if(y1<y)break;
    }
    if(m>100)b/=2;
	else {x+=r;y=y1;}
	m=0;
   }
   return x;
  }
  public void paint(Graphics g)
  {double x=Math.PI/4,b=Math.PI/4,eps=1e-7;
   x=mtcl(x,b,eps);
   g.drawString("X="+x,10,20);
  }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?