function [rms,diffdata] = myRMS(udata, sdata)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% This function computes the difference between the two data sets
% udata and sdata (udata and sdata are of two dimension) after
% udata has been scaled to have the same mean value as the sdata.
% It then calculates the root mean square value of the difference .
%
% Make sure udata and sdata have the same size.
%
% The code is adapted from Bragi Sveinsson's mrFieldMap, function
% mrFieldError.
%
% http://white.stanford.edu/teach/index.php/2009_Bragi_Sveinsson
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
mysize = size(udata);
if (mean(mean(udata)) == 0)
udata_i_scaled = udata;
else
udata_i_scaled = mean(mean(sdata))/mean(mean(udata))*udata;
end
diffdata = sdata - udata_i_scaled;
if sum(sum(diffdata.^2))==0
rms = 0;
else
rms = sqrt(1/(mysize(1)*mysize(2))*sum(sum(diffdata.^2)));
end
求两个二维矩阵的root mean square(matlab程序)
最新推荐文章于 2022-09-26 11:59:22 发布