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))) );
  1 Comment
mehra
mehra on 9 Nov 2022
Moved: Matt J on 9 Nov 2022
so the problem was only parantheses! :) Thank you

Sign in to comment.

More Answers (0)

Categories

Find more on Creating and Concatenating Matrices in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by