Call matrix for multiplication
Info
This question is closed. Reopen it to edit or answer.
Show older comments
I have 12 matrix: p1................p12.
these are loaded in matlab.
I wish to do p1'*P1 then p1'*p2 .......P1'*p12.
Then reapeat with p2: p2'*p3 ...........p2'*p12.
I wish to cinstruct a loop
for i=1:12
for j=i:12
pp(:,:,j)=Pi ?????????*Pj??????????
would you please let me know , how i can call pi and pj
regards
Answers (3)
Andrei Bobrov
on 15 Aug 2012
Edited: Andrei Bobrov
on 15 Aug 2012
% 1. Your matrices (p1 .. p12):
for j1 = 1:12
eval(['p',num2str(j1),' = randi(10,3,4)']);
end
% 2. Solution:
p = eval(['{',sprintf('p%d,',(1:12)'),'}']);
n = nchoosek(1:12,2);
pp = zeros([size(p{1},2)*[1 1],size(n,1)]);
for j1 = 1:size(n,1)
pp(:,:,j1) = p{n(j1,1)}'*p{n(j1,2)};
end
Azzi Abdelmalek
on 15 Aug 2012
Edited: Azzi Abdelmalek
on 16 Aug 2012
n=3;m=6;
for k = 1:12
p{k} = rand(n,m)
end
ind = nchoosek(1:12,2);pp=cell2mat(p(ind));
for k=1:n:size(pp,1)
result(:,:,(k+n-1)/n)=pp(k:k+n-1,1:m)'*pp(k:k+n-1,m+1:2*m)
end
2 Comments
Fariba
on 15 Aug 2012
Azzi Abdelmalek
on 15 Aug 2012
how is that related to your question?
This question is closed.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!