📄 example3_9.java
字号:
import java.applet.*;
import java.awt.*;
public class Example3_9 extends Applet
{
public static boolean cholesky(double[][] a,double[] b,int n)
{ int i,j,k;
for(j=0;j<n;j++)
{//计算l[j][j]
for(k=0;k<j;k++)a[j][j]-=a[j][k]*a[j][k];
if(a[j][j]<=0)return false;
a[j][j]=Math.sqrt(a[j][j]);
//计算l[i][j]
for(i=j+1;i<n;i++)
{for(k=0;k<j;k++)a[i][j]-=a[i][k]*a[j][k];
a[i][j]/=a[j][j];}
}
//求解Ly=b;
for(i=0;i<n;i++)
{ for(k=0;k<i;k++)b[i]-=a[i][k]*b[k];
b[i]/=a[i][i]; }
//求解LTx=y
for(i=n-1;i>=0;i--)
{for(k=i+1;k<n;k++)b[i]-=a[k][i]*b[k];
b[i]/=a[i][i];}
return true;
}
public void paint(Graphics g)
{ double[][] a={{16,4,8},{4,5,-4},{8,-4,22}};
double[] b={-4,-3,10};
int i;
if(!cholesky(a,b,3))
g.drawString("系数矩阵不是正定阵",10,20);
else
{ for(i=0;i<3;i++)
g.drawString("X"+i+"="+b[i],10,i*20+20);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -