example3_8.java
来自「Java程序100例」· Java 代码 · 共 39 行
JAVA
39 行
import java.applet.*;
import java.awt.*;
public class Example3_8 extends Applet
{ public static boolean ldltsolve(double[][] a,double[] x, int n)
{ int i,j,k;
for(i=0;i<n;i++)
{ for(k=0;k<i;k++)a[i][i]-=a[i][k]*a[i][k]*a[k][k];
if(a[i][i]==0)return false;
for(j=i+1;j<n;j++)
{ for(k=0;k<i;k++)a[j][i]-=a[j][k]*a[i][k]*a[k][k];
a[j][i]/=a[i][i];
}
}
for(i=0;i<n;i++)
{ for(j=0;j<i;j++)
x[i]-=a[i][j]*x[j];
}
for(i=0;i<n;i++)x[i]/=a[i][i];
for(i=n-1;i>=0;i--)
for(j=i+1;j<n;j++)
x[i]-=a[j][i]*x[j];
return true;
}
public void paint(Graphics g)
{double[][] a={{5,-4,1},{-4,6,-4},{1,-4,-6}};
double[] b={2,-1,-1};
if (ldltsolve(a,b,3))
{g.drawString("X0="+b[0],10,20);
g.drawString("X1="+b[1],10,40);
g.drawString("X2="+b[2],10,60);}
else
{g.drawString("不能LDL分解!",10,20);}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?