How to calculate the mean square error of two matrices? How to use the inbuilt MATLAB function msc for that?The Mathworks help for mse is not clear to me.

 Réponse acceptée

Wayne King
Wayne King le 1 Avr 2013

4 votes

Do you have the Wavelet Toolbox? If so, you can use measerr(), otherwise, suppose your original matrix is X and your approximation is Xapp
X = randn(256,256);
Xapp = randn(256,256);
D = abs(X-Xapp).^2;
MSE = sum(D(:))/numel(X);

7 commentaires

Anurag Pujari
Anurag Pujari le 1 Avr 2013
Is it necessary to take 256? Can I reduce it to my requirement?
Wayne King
Wayne King le 1 Avr 2013
It is not necessary to take 256, that was just an example.
Image Analyst
Image Analyst le 1 Avr 2013
Modifié(e) : Image Analyst le 1 Avr 2013
That was just to create some sample data. Of course X and Xapp will be your own variables of whatever size they might be. Of course they have to have the same number of rows and columns as each other or it wouldn't make sense. Note that if they are of integer type (such as uint8 images) then you'll need to cast them to double() to prevent clipping upon subtraction. And I don't think the abs() operation is necessary since you're squaring. You might also look to PSNR and SSIM (see wikipedia) to compare two matrices.
Anurag Pujari
Anurag Pujari le 1 Avr 2013
As I am comparing two matrices of voice signals, so will it create problem if I use the above randn function as it returns any random numbers!
Wayne King
Wayne King le 1 Avr 2013
Yes, of course. You have to realize that since I don't have your data I just have to make up an example to show you how to do it.
Anurag Pujari
Anurag Pujari le 1 Avr 2013
Thanks for helping me out sir.
Lorson Blair
Lorson Blair le 2 Avr 2022
Modifié(e) : Lorson Blair le 2 Avr 2022
For persons who still have questions about this, you can use the Frobenius norm:
A = randi(10,3);
B = randi(25,3);
MSE = norm(A-B,'fro')^2/numel(A);

Connectez-vous pour commenter.

Plus de réponses (0)

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by