How to calculate mean square error between points?

Hello everyone. Here I want to calculate the mean square error between the blue dots and the red dot. I'm putting the files. I can't form in my head how to do it. I would be glad if you help.
scatter(reshape(x_T_est1(all(x_T_est1,2),:), [1,numel(x_T_est1(all(x_T_est1,2),:))]), reshape(y_T_est1(all(y_T_est1,2),:), [1,numel(y_T_est1(all(y_T_est1,2),:))]), 'b', 'x'); hold on;
scatter(x_T, y_T, 'r', 'filled');

 Accepted Answer

load('x_T.mat');load('x_T_est1.mat');load('y_T.mat');load('y_T_est1.mat');
b=[reshape(x_T_est1(all(x_T_est1,2),:),[1,numel(x_T_est1(all(x_T_est1,2),:))]);...
reshape(y_T_est1(all(y_T_est1,2),:),[1,numel(y_T_est1(all(y_T_est1,2),:))])]';
b=b(~isnan(b(:,1))&~isnan(b(:,2)),:);%you have some NANs in your arrays.
r=[x_T,y_T];
meanSquaredError=sum((b-r).^2)/length(b);

5 Comments

I could not run this code correctly. Could you help?
b=[reshape(x_T_est1(all(x_T_est1,2),:);[1,numel(x_T_est1(all(x_T_est1,2),:))]),...
Invalid expression. When calling a function or indexing a variable, use parentheses. Otherwise, check for mismatched
delimiters.
Changed it above. Just want b to be an array of your points [x,y].
I also included the file. I can't write them this way as a single point. If you know a way please let me know
If your scatter plot is working, then the above code should work. I tried in on your attached files (except y_T_est1 not provide, so I set it equal to x_T_est1) and it worked. Not sure what you want to do with the nan values.

Sign in to comment.

More Answers (0)

Categories

Community Treasure Hunt

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

Start Hunting!