How to construct this matrix without using two for loops?

조회 수: 4 (최근 30일)
Mohit Kumar
Mohit Kumar 2021년 5월 13일
답변: Mohit Kumar 2021년 5월 13일
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
DGM
DGM 2021년 5월 13일
편집: DGM 2021년 5월 13일
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 2021년 5월 13일
My bad, i mean iter1 and iter2. Edited the question. Thanks.

댓글을 달려면 로그인하십시오.

답변 (1개)

Mohit Kumar
Mohit Kumar 2021년 5월 13일
I was able to figure out the answer to this. The formulation can be written as
A = V' * X * V;

카테고리

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