PDA

View Full Version : [Frage] Mittlerer Quadraischer Fehler - Hä?


12gauge
05-11-2003, 13:14
Kann mir einer von euch erklären, wie ich den MQF berechne, genauergesagt, wie ich dies ohne die Verwendung von for-Schleifen schaffe?(Beispiel 2.2/2.4)
Wäre für jede Hilfe dankbar http://hades.gothic.at/iforum/images/smilies/frown.gif

buschti
05-11-2003, 15:42
sagen wir, F ist das originalbild und S das gestörte. jetzt mußt du pixel für pixel subtrahieren und anschließend quadrieren: (F - S).^2 (.^2 bedeutet, daß er jedes Element quadriert, ohne Punkt würde er die Matrix mit sich selber multiplizieren).
jetzt brauchst du nur noch den durchschnitt aller werte in der matrix. das erreichst du, indem du zweimal mean ausführst (da mean von einer matrix einen vektor ergibt und mean von einem vektor einen skalaren wert ergibt).
die lösung lautet also:
mqf = mean(mean((F - S).^2));

12gauge
05-11-2003, 16:01
Herzlichen Dank! http://hades.gothic.at/iforum/images/smilies/smile.gif

Filz
05-11-2003, 16:15
Funktion mean2(...) ist eleganter als 2 mal mean...

Filz
05-11-2003, 16:18
bzw wenn du eine Funktion mit allen Werten einer Matrix hast: wandle die Matrix in einen Vektor um:
fkt( reshape(A,1,[]) )

buschti
05-11-2003, 20:37
bzw wenn du eine Funktion mit allen Werten einer Matrix hast: wandle die Matrix in einen Vektor um:
fkt( reshape(A,1,[]) )

dafür gibt es auch eine leichtere möglichkeit: A(:) gibt einen vektor mit allen werten von a zurück