Java之变上三角矩阵

 
 

public class MatrixUpTri {
public static void UpTri(double[][]Matrix,int n){
	int Count=1;
	while(Count<n)
	{
		for(int N=n-1;N>=Count;N--)
		{
			double z;
			if(Matrix[Count-1][Count-1]!=0){
			z=Matrix[N][Count-1]/Matrix[Count-1][Count-1];
			}else{
				for(int i=0;i<n;i++)
				{
					Matrix[Count-1][i]+=Matrix[N][i];
				}
				z=Matrix[N][Count-1]/Matrix[Count-1][Count-1];
			}
		   for(int i=0;i<n;i++)
		   {
			   Matrix[N][i]=Matrix[N][i]-Matrix[Count-1][i]*z;
		   }
		}
		Count++;
	}

}
public static void main(String[]args)//测试
{
	double[][] TestMatrix = {
			   {1, 22, 34,22}, 
			   {1, 11,5,21} ,
			   {0,1,5,11},
			   {7,2,13,19}};	
	double[][] TMatrix1={
			{1,2,3},{2,1,1},{2,2,2}	
	};
	double[][]TMatrix2={
			{1,2},{2,3}	
	};
	UpTri(TestMatrix,4);
	String Strr=new String("");
	for(int i=0;i<4;i++)
	{
		for(int j=0;j<4;j++)
		{
			String str=String.valueOf(TestMatrix[i][j]);
			Strr+=str;
			Strr+=" ";
		}
		Strr+="\n";
	}
	
   
	
   System.out.println(Strr);
	
}
}


运行结果如下:


你可能感兴趣的:(Java之变上三角矩阵)