extract the same coloumn from multiple mtrix

2 次查看(过去 30 天)
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

采纳的回答

Matt J
Matt J 2012-10-19
编辑:Matt J 2012-10-19
If your data exists as an MxNx640 array, then it's easy
newmatrix= data(:,70,:);
newmatrix=reshape(newmatrix,M,640);
  5 个评论
Matt J
Matt J 2012-10-19
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);

请先登录,再进行评论。

更多回答(2 个)

Razvan
Razvan 2012-10-19
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 个评论
Azzi Abdelmalek
Azzi Abdelmalek 2012-10-19
编辑:Azzi Abdelmalek 2012-10-19
how are named your 640 matrix? , or do you import them each iteration
sami
sami 2012-10-19
the 640 matrices are 150*19 Double matrices and are named device1_1 to device1_80 device2_2 to device2_80 and so on 8 times

请先登录,再进行评论。


Azzi Abdelmalek
Azzi Abdelmalek 2012-10-19
编辑:Azzi Abdelmalek 2012-10-19
M=[]
for k=1:8
s=['M=[M' sprintf([',device%d_%d(:,70)'],[k*ones(1,80);(1:80)]) ']']
eval(s)
end

类别

Help CenterFile Exchange 中查找有关 Matrix Indexing 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by