extract the same coloumn from multiple mtrix
2 views (last 30 days)
Show older comments
Hi! I'm new here i want to ask if there is a solution in Matlab to extract the same column number from multiple matrix. I have 640 matrix and I want to extract from each mtrix the column indexed 70 and save this column in one new matrix .I thank you in advance for your help
0 Comments
Accepted Answer
Matt J
on 19 Oct 2012
Edited: Matt J
on 19 Oct 2012
If your data exists as an MxNx640 array, then it's easy
newmatrix= data(:,70,:);
newmatrix=reshape(newmatrix,M,640);
5 Comments
Matt J
on 19 Oct 2012
Sigh... Well, first we'll have to undo the damage. Nothing will be fast until we do:
M=cell(8, 80);
for i=1:8
for j=1:80
M{i,j}=eval(['device' num2str(i) '_' num2str(j)]);
end
end
Now you can do as before
data=cat3(M{:});
newmatrix= data(:,70,:);
newmatrix=reshape(newmatrix,M,640);
More Answers (2)
Razvan
on 19 Oct 2012
To extract column 70 from matrix M you do
C = M(:,70);
To add this column to another matrix (M2) you do
M2 = [M2, C];
3 Comments
Azzi Abdelmalek
on 19 Oct 2012
Edited: Azzi Abdelmalek
on 19 Oct 2012
how are named your 640 matrix? , or do you import them each iteration
Azzi Abdelmalek
on 19 Oct 2012
Edited: Azzi Abdelmalek
on 19 Oct 2012
M=[]
for k=1:8
s=['M=[M' sprintf([',device%d_%d(:,70)'],[k*ones(1,80);(1:80)]) ']']
eval(s)
end
0 Comments
See Also
Categories
Find more on Matrix Indexing in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!