concatenate matrices into one

Hello everyone! I have 180 matrices, 19*330, the are stored as mat files (B1C1,B1C2.....B1C15,B2C1,...,B2C15,...,B12C1,....,B12C15). I want to concatenate them into one matrix 180*19 by 330. does any one how can I do that?

3 个评论

How your matrices are stored?
they are in mat file! their names are
B1C1,B1C2.....B1C15,B2C1,...,B2C15,...,B12C1,....,B12C15
Please edit your question, don't let people guess what you are asking for!

回答(1 个)

M=[]
for ii=1:15
for jj=1:12
name=sprintf('B%dC%d',ii,jj)
s=load(name)
n=fieldnames(s)
M=[M;s.n]
end
end

8 个评论

the problem is I don't want to write down all matrices
Look at edited answer
isn't it possible to have one matrix 19*180 by 300?
M=zeros(19,330,180);
k=00
for ii=1:15
for jj=1:12
k=k+1
name=sprintf('B%dC%d',ii,jj)
s=load(name)
n=fieldnames(s)
M(:,:,k)=s.n
end
end
thanks! but unfortunately I have got an error in reading the 'name'!
Maybe you need to specify the location of your files
the problem is there are a huge number of matrices! even if I write them in a loop it will not give me a matrix 180*19 by 330!
@aziz abdelmalek, thanks for taking your time! I will try that

此问题已关闭。

提问:

2016-7-19

关闭:

2021-8-20

Community Treasure Hunt

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

Start Hunting!

Translated by