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();
}
}
}