Info

Cette question est clôturée. Rouvrir pour modifier ou répondre.

Call matrix for multiplication

1 vue (au cours des 30 derniers jours)
Fariba
Fariba le 15 Août 2012
Clôturé : MATLAB Answer Bot le 20 Août 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

Réponses (3)

Andrei Bobrov
Andrei Bobrov le 15 Août 2012
Modifié(e) : Andrei Bobrov le 15 Août 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 le 15 Août 2012

Azzi Abdelmalek
Azzi Abdelmalek le 15 Août 2012
Modifié(e) : Azzi Abdelmalek le 16 Août 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 commentaires
Fariba
Fariba le 15 Août 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 le 15 Août 2012
how is that related to your question?

Cette question est clôturée.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by