example5_7.java

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

JAVA
28
字号
import java.applet.*;
import java.awt.*;
public class Example5_7 extends Applet
{
 public double enhmt(double[] x,double[] y,double[] dy,double t)
 {int i,j,n=x.length;
  double f,l,dl;
  f=0;
  for(i=0;i<n;i++)
  {l=1;dl=0;
   for(j=0;j<i;j++){l*=(t-x[j])/(x[i]-x[j]);dl+=1/(x[i]-x[j]);}
   for(j=i+1;j<n;j++){l*=(t-x[j])/(x[i]-x[j]);dl+=1/(x[i]-x[j]);}
   f+=(y[i]+(t-x[i])*(dy[i]-2*y[i]*dl))*l*l;
  }
  return f;
 }

 public void paint(Graphics g)
 {double[] x={0.10,0.15,0.30,0.45,0.55,0.60,0.70,0.85,0.90,1.00};
  double[] y=new double[10];
  double[] dy=new double[10];
  double f,t;int i;
  for(i=0;i<10;i++){y[i]=Math.sin(x[i]);dy[i]=Math.cos(x[i]);}
  for(i=0;i<10;i++)
  {t=Math.random();f=enhmt(x,y,dy,t);
   g.drawString("t="+t+"  f(t)="+f+"  实际值="+Math.sin(t),10,20+20*i);}
 }
}

⌨️ 快捷键说明

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