📄 example3_7.java
字号:
import java.applet.*;
import java.awt.*;
public class Example3_7 extends Applet
{
public static int band(double[][] a,double[] x, int n,int p,int q)
{ int i,j,k,temp;
if(a[0][p]==0){return 0;}
for(i=1;i<=p;i++)
a[i][p-i]/=a[0][p];
for(i=1;i<n;i++)
{//求u[i][i];
temp=Math.max(i-p,i-q);temp=Math.max(temp,0);
for(k=temp;k<i;k++)
a[i][p]-=a[i][p-i+k]*a[k][p-k+i];
if(a[i][p]==0)return 0;
//求u[i][j] j=i+1,i+2,....,
for(j=i+1;j<=i+q&&j<n;j++)
{temp=Math.max(i-p,j-q);temp=Math.max(temp,0);
for(k=temp;k<i;k++)
a[i][p-i+j]-=a[i][p-i+k]*a[k][p-k+j];
}
//求L[j][i] j=i+1,i+2,....
for(j=i+1;j<=i+p&&j<n;j++)
{ temp=Math.max(j-p,i-q);temp=Math.max(temp,0);
for(k=temp;k<i;k++)
a[j][p-j+i]-=a[j][p-j+k]*a[k][p-k+i];
a[j][p-j+i]/=a[i][p];
}
}
for(i=1;i<n;i++)
for(j=Math.max(i-p,0);j<i;j++)
x[i]-=a[i][p-i+j]*x[j];
x[n-1]/=a[n-1][p];
for(i=n-2;i>=0;i--)
{ for(j=i+1;j<=Math.min(i+q,n-1);j++)x[i]-=a[i][p-i+j]*x[j];
x[i]/=a[i][p];
}
return 1;
}
public void paint(Graphics g)
{double[][] a=new double[8][5];
double[] b=new double[8];
a[0][2]= 3;a[0][3]=-4;a[0][4]= 1;b[0]=13;
a[1][1]=-2;a[1][2]=-5;a[1][3]= 6;a[1][4]= 1;b[1]=-6;
a[2][0]= 1; a[2][1]= 3;a[2][2]=-1;a[2][3]= 2;a[2][4]=-3;b[2]=-31;
a[3][0]= 2; a[3][1]= 5;a[3][2]=-5;a[3][3]= 6;a[3][4]=-1;b[3]=64;
a[4][0]=-3; a[4][1]= 1;a[4][2]=-1;a[4][3]= 2;a[4][4]=-5;b[4]=-20;
a[5][0]= 6; a[5][1]= 1;a[5][2]=-3;a[5][3]= 2;a[5][4]=-9;b[5]=-22;
a[6][0]=-4; a[6][1]= 1;a[6][2]=-1;a[6][3]= 2; b[6]=-29;
a[7][0]= 5; a[7][1]= 1;a[7][2]=-7; b[7]=7;
band(a,b,8,2,2);
for(int i=0;i<8;i++)
g.drawString("X"+i+"="+b[i],10,20*i+20);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -