ich habe eine Frage bezüglich des 6. Tutoriums. Hier soll ein Korrektheitsbeweis über die folgende Methode geführt werden:
Code: Alles auswählen
private double cosinus (double [] [] a) {
double skalar, cosinus;
double [] norms = calc2norm(a);
cosinus = 0;
for (int i = 0; i < a[0].length-1; i ++ ) {
for (int j = i+1; j < a[0].length; j++) {
skalar = 0;
for (int k = 0; k < a.length; k++) {
skalar += (a[k] [i] * a [k] [j]);
}
cosinus += (skalar / norms [i] * norms [j]));
}
}
return cosinus;
}
Hier steht in der Lösung auf den Folien folgendes zur Invariante:for (int j = i+1; j < a[0].length; j++) {
Ich hatte da: : Nach j – i – 1 Iterationen wurden für die ersten j Elemente der Winkel korrekt berechnet.Nach j >= 0 Iterationen enthält cosinus die Summe der
ersten j Quotienten der Sakarprodukte von i und j geteilt
durch das Produkt der Norm von i und j.
Ich wollte mal fragen ob meine Lösung auch geht? Oder ob es reicht zu schreiben nach j > = 0 Iterationen?

Vielen Dank und viele grüße
