📄 example5_4.java
字号:
import java.applet.*;
import java.awt.*;
public class Example5_4 extends Applet
{
public double eelg3(double x,double h,int n,double[] y,double t)
{int i,j,k,l;
double s,f;
if(t<x)return (y[0]+(y[1]-y[0])/h*(t-x));
if(t>x+n*h-h)return ( y[n-1]+ (y[n-1]-y[n-2])/h*(t-x-n*h+h));
for(i=0;i<n;i++)
{if(t==x+i*h)return y[i];
if(t<x+i*h)break;}
if(i==1){k=0;l=3;}
else if(i==n-1){k=n-3;l=n;}
else
{ if(t>=x+(i-0.5)*h){k=i-1;l=i+2;}
else {k=i-2;l=i+1;}
}
f=0;
for(i=k;i<l;i++)
{ s=1;
for(j=k;j<i;j++)s*=(t-x-j*h)/(i-j)/h;
for(j=i+1;j<l;j++)s*=(t-x-j*h)/(i-j)/h;
f+=s*y[i];
}
return f;
}
public void paint(Graphics g)
{double[] y=new double[10];
double f;
int i;
for(i=0;i<10;i++)y[i]=Math.exp(-0.1-0.1*i);
f=eelg3(0.1,0.1,10,y,0.33);
g.drawString("t="+0.33+" f(t)="+f+" 实际值="+Math.exp(-0.33),10,20);
f=eelg3(0.1,0.1,10,y,0.67);
g.drawString("t="+0.67+" f(t)="+f+" 实际值="+Math.exp(-0.67),10,40);
f=eelg3(0.1,0.1,10,y,0.83);
g.drawString("t="+0.83+" f(t)="+f+" 实际值="+Math.exp(-0.83),10,60);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -