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 Comments

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!

Answers (1)

Azzi Abdelmalek
Azzi Abdelmalek on 19 Jul 2016
Edited: Azzi Abdelmalek on 19 Jul 2016
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 Comments

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

This question is closed.

Asked:

on 19 Jul 2016

Closed:

on 20 Aug 2021

Community Treasure Hunt

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

Start Hunting!