3-D matrices

1 vue (au cours des 30 derniers jours)
Ricky
Ricky le 8 Mai 2012
Hi there,
I wonder if anyone could tell me how to do the following:
- if I have a 3d matrix r is 10x200x100, and I want to find correlation of it which define as R = r*conj(r'). how do I do that? if I just put that equation in MATLAB it won't work as I wanted. Technically, I want R to be 10x10x100.
Cheers,
Rak

Réponses (1)

Wayne King
Wayne King le 8 Mai 2012
R = randn(10,200,100);
for nn = 1:100
Rxx(:,:,nn) = R(:,:,nn)*R(:,:,nn)';
end
If R has complex elements, then R' conjugates the elements so I was not sure what you meant by conj(R'), did that mean you did not want to take the conjugate? If that is the case, do R(:,:,nn).'
  1 commentaire
Ricky
Ricky le 8 Mai 2012
sorry I mean to write conj(r.') which is Hermitian transpose and which I just realize that you can just do r' which is the same. but anyway, that's not the point here, the point here is 3D matrix multiplication. I think your answer is right, but since I'm trying simplify my program to run faster, I tend not to use the 'for-loop' So is there any way you can do that without the knowledge of 'for-loop'?

Connectez-vous pour commenter.

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by