How to construct this matrix without using two for loops?

4 visualizaciones (últimos 30 días)
Mohit Kumar
Mohit Kumar el 13 de Mayo de 2021
Respondida: Mohit Kumar el 13 de Mayo de 2021
Hi, I'm trying to construct a matrix in the following manner:
sz=10;
V=rand(sz,sz);
X=rand(sz,sz);
for iter1=1:sz
for iter2=1:sz
A(iter1,iter2) = sum((V(:,iter1)*V(:,iter2)').*X,[1 2]);
end
end
Is there a way to do this without for-loops? I'm sure there must be a way that I haven't been able to think of!
  2 comentarios
DGM
DGM el 13 de Mayo de 2021
Editada: DGM el 13 de Mayo de 2021
What are i and j? By default, both i and j are sqrt(-1), which isn't a valid index. Are they supposed to be iter1 and iter2, or are they defined elsewhere and constant within the scope of the loops?
Mohit Kumar
Mohit Kumar el 13 de Mayo de 2021
My bad, i mean iter1 and iter2. Edited the question. Thanks.

Iniciar sesión para comentar.

Respuestas (1)

Mohit Kumar
Mohit Kumar el 13 de Mayo de 2021
I was able to figure out the answer to this. The formulation can be written as
A = V' * X * V;

Categorías

Más información sobre Matrix Indexing en Help Center y File Exchange.

Etiquetas

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by