(Answers Dev) Restored edit
the description below .. for loop and matrices
1 view (last 30 days)
Show older comments
Matthew Worker
on 26 Jun 2021
Commented: Rena Berman
on 16 Dec 2021
% when o=1 I want to multiply the second row of H with the second column of W and sum it with the multiplication of the third row of H with the third column of W and the multiplication of the fourth row of H with the fourth column of W.
% when o=2 I want to multiply the first row of H with the first column of W and sum it with the multiplication of the third row of H with the third column of W and the multiplication of the fourth row of H with the fourth column of W.
% when o=3 I want to multiply the first row of H with the first column of W and sum it with the multiplication of the second row of H with the second column of W and the multiplication of the fourth row of H with the fourth column of W.
% and so on .....
clc;
clear;
H=[1 2 2 1 ; 3 1 1 2;1 3 2 4;2 1 3 5]
W=[4 1 2 1;1 3 2 1;2 1 1 3;2 1 1 4]
for o=1:4
p = abs(H(o,:)*W(:,o))
end
Accepted Answer
Walter Roberson
on 26 Jun 2021
H=[1 2 2 1 ; 3 1 1 2;1 3 2 4;2 1 3 5]
W=[4 1 2 1;1 3 2 1;2 1 1 3;2 1 1 4]
locs = [2 2 3 3 4 4;
1 1 3 3 4 4;
1 1 2 2 4 4];
for o = 1 : size(locs,1)
p(o) = H(locs(o,1),:)*W(:,locs(o,2)) + H(locs(o,3),:)*W(:,locs(o,4)) + H(locs(o,5),:)*W(:,locs(o,6));
end
p
6 Comments
Walter Roberson
on 27 Jun 2021
Suppose for discussion that H is 4 x 3, and W is 5 x 4
H=[1 2 2; 3 1 1;1 3 2;2 1 3]
W=[4 1 2 1;1 3 2 1;2 1 1 3;2 1 1 4; 1 2 4 5]
Now for the first iteration, you define
o = 1
p = abs(H(o,:)*W(:,o))
H(o,:) is 1 x 3 and W(:,o) is 5 x 1. But you cannot use * between a 1 x 3 and a 5 x 1.
Your definitions cannot work unless you define that W has the same number of rows that H has columns -- which you do not do.
If you had defined
p = abs(W(:,o)*H(o,:))
then that would work, giving a 5 x 3 result.
Which do you want? That each entry should be size(W,1) x size(H,2) ? Or that each entry should be 1 x 1, in which case you would have to define H as having the same number of columns as W has rows.
More Answers (0)
See Also
Categories
Find more on Matrix Indexing in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!