Il problema è nel metodo di scambio: l'ho riscritto piuttosto che cercare di capire dov'è l'errore, ci mettevo meno 
codice:
public static float[][]scambiarighe(float mat[][],int k,int h)
{
for (int j = 0; j < mat[0].length; j++)
{
float temp = mat[k][j];
mat[k][j] = mat[h][j];
mat[h][j] = temp;
}
return mat;
}//chiusura metodo scambia
Ti riposto anche il metodo di ordinamento, visto che avevo fatto un paio di errori:
codice:
public static float[][] ordina(float[][] matx)
{
float[] moduli = new float[matx.length];
for (int k = 0; k < matx.length; k++)
{
moduli[k] = Prova.calcolamodulo(matx[k]);
int i = k - 1;
while (i >= 0 && moduli[i] > moduli[i + 1])
{
Prova.scambiarighe(matx, i, i + 1);
float temp = moduli[i];
moduli[i] = moduli[i + 1];
moduli[i + 1] = temp;
i--;
}
}
return matx;
}