Info

This question is closed. Reopen it to edit or answer.

Call matrix for multiplication

2 views (last 30 days)
Fariba
Fariba on 15 Aug 2012
Closed: MATLAB Answer Bot on 20 Aug 2021
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
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

Walter Roberson
Walter Roberson on 15 Aug 2012

Azzi Abdelmalek
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
Fariba on 15 Aug 2012
I have find a soultion as following: for k=1:12 % load(['G:\......\G',num2str(k),'.txt']); f(:,:,k)=load(['G:\.......\G',num2str(k),'.txt']); end Thank you for all.
Azzi Abdelmalek
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!