How to create three columns for matrix after indexing
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Dear all, I have a 8X8X8 three dimensional matrix. I would like to create 512X4 matrix so that first column give the position of x, second column the position of y and third one for z position.
I have a code like this
nx = size(dyzw,1);
ny = size(dyzw,2);
nz = size(dyzw,1);
N = nx*ny*nz;
bigData = dyzw(:);
bigMatrix = zeros(N, 4);
for i = 1: N
bigMatrix(i,4) = bigData(i);
for j = 1: nx
for k = 1: ny
for l = 1:nz
bigMatrix(i,1) =j;
bigMatrix(i,2) =k;
bigMatrix(i,3) =l;
end
end
end
end
But I failed to produce the matrix as I want. Could you please check my code please.
Thanks
0 commentaires
Réponse acceptée
Jos
le 18 Fév 2015
Modifié(e) : Jos
le 18 Fév 2015
Hi Mahesh,
this will do what you want
nx = size(dyzw,1);
ny = size(dyzw,2);
nz = size(dyzw,3);
N = nx*ny*nz;
bigMatrix = zeros(N,4);
i = 0;
for j = 1:nx
for k = 1:ny
for l = 1:nz
i = i+1;
bigMatrix(i,1) = j;
bigMatrix(i,2) = k;
bigMatrix(i,3) = l;
bigMatrix(i,4) = dyzw(j,k,l);
end
end
end
0 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Get Started with MATLAB dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!