Einzelnen Beitrag anzeigen
Ungelesen 21.11.12, 16:12   #13
d03jo4n
OS X'ler
 
Benutzerbild von d03jo4n
 
Registriert seit: Aug 2012
Ort: /dev/random
Beiträge: 40
Bedankt: 8
d03jo4n ist noch neu hier! | 0 Respekt Punkte
Standard

Hi nick,

hoffentlich ist es noch nicht zu spät ;D

Code:
package lab.matrixopotenz;

public class MatrixPotenzieren
{

	public static void main(String[] args)
	{
		int[][] input = { { 0, 1, 0, 0 },
						  { 0, 0, 1, 0 },
						  { 0, 0, 0, 1 },
						  {-1, 1,-1, 3 } };
		
		int[][] matrix = MatrixPotenzieren.deepcopy(input);
		
		int[][] result = new int[matrix.length][matrix.length];
		
		
		for( int n = 1; n < 15; n++ )
		{
			for( int i = 0; i < input.length; i++ )
				for( int j = 0; j < input.length; j++ )
				{
					result[i][j] = 0;
					for( int k = 0; k < input.length; k++ )
						result[i][j] += matrix[i][k]*input[k][j];
				}
			
			matrix = MatrixPotenzieren.deepcopy(result);
			
			System.out.printf("%d. Potzenz:\n",n+1);
			MatrixPotenzieren.printM(result);
		}
		
		

	}
	
	public static int[][] deepcopy( int[][] matrix )
	{
		int[][] copy = new int[matrix.length][matrix.length];
		for( int i = 0; i < matrix.length; i++ )
			for( int j = 0; j < matrix.length; j++ )
				copy[i][j] = matrix[i][j];
		
		return copy;
	}
	
	public static void printM( int[][] matrix )
	{
		for( int i = 0; i < matrix.length; i++ )
		{
			for( int j = 0; j < matrix[i].length; j++ )
				System.out.printf("%13d ",matrix[i][j]);
			
			System.out.println();
		}
	}

}
d03jo4n ist offline   Mit Zitat antworten