I get different results for the product of two matrices?

2 次查看(过去 30 天)
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

采纳的回答

Marcel Kreuzberg
Marcel Kreuzberg 2022-11-9
移动:Matt J 2022-11-9
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))) );

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Matrix Indexing 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by