I get different results for the product of two matrices?

1 view (last 30 days)
Hello
For my u.mat and w.mat data sets I need to do a calculation to find:
u-mean(u) and w-mean(w) and then find the mean of their products.
but when I define this calculation in one line (as in results(2,np)) it gives different results from when I define u_differ and w_differ separately, and then find the mean of their product (results(1,np)). Since I will have some other calculations I prefer to make it short. So I would like to know what is wrong with results(2,np) line that gives different results from results(1,np) although they're the same definition in fact
load('u.mat')
load('w.mat')
results=zeros(2,2);
for np=1:2;
u_differ(:,np)=u(:,np)-mean(u(:,np));
w_differ(:,np)=w(:,np)-mean(w(:,np));
results(1,np)=mean(u_differ(:,np).*w_differ(:,np));
results(2,np)=mean(u(:,np)-mean(u(:,np)).*w(:,np)-mean(w(:,np)));
end

Accepted Answer

Marcel Kreuzberg
Marcel Kreuzberg on 9 Nov 2022
Moved: Matt J on 9 Nov 2022
change results(2,np)=mean(u(:,np)-mean(u(:,np)).*w(:,np)-mean(w(:,np)));
to
results(2,np)=mean( (u(:,np)-mean(u(:,np))) .* (w(:,np)-mean(w(:,np))) );

More Answers (0)

Community Treasure Hunt

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

Start Hunting!