Call matrix for multiplication
Info
Diese Frage ist geschlossen. Öffnen Sie sie erneut, um sie zu bearbeiten oder zu beantworten.
Ältere Kommentare anzeigen
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
Antworten (3)
Andrei Bobrov
am 15 Aug. 2012
Bearbeitet: Andrei Bobrov
am 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
am 15 Aug. 2012
Bearbeitet: Azzi Abdelmalek
am 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 Kommentare
Fariba
am 15 Aug. 2012
Azzi Abdelmalek
am 15 Aug. 2012
how is that related to your question?
Diese Frage ist geschlossen.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!