Save each element from a cell as separate matrix

조회 수: 3 (최근 30일)
Ioanna Thoma
Ioanna Thoma 2022년 2월 27일
댓글: Walter Roberson 2022년 2월 27일
Lets say that we have a matrix:
tst=rand(180, 456, 10);
I would like to save each of the ten (180x456) subsets as a separate matrix automatically.
For example: x1.mat which is the tst(:,:,1);
I am doing the following:
for i=1:10
x=tst(:,:,i);
fname = sprintf('x%d.mat', i);
save(fname,'x')
end
but like this I get 10 files (x1.mat, x2.mat,...,x10.mat ) where each one contains a matrix called x.
  댓글 수: 5
Matt J
Matt J 2022년 2월 27일
It is indeed possible that you might be barking up the wrong tree. It really shouldn't matter what the variable name inside the .mat file is. You can load the variable under any name you wish, e.g.,
x1=load('x1').x
Walter Roberson
Walter Roberson 2022년 2월 27일
What file format do you want to save the data as? For example do you want to save as xlsx? When you save as mat then there always has to be some variable name.

댓글을 달려면 로그인하십시오.

답변 (1개)

Matt J
Matt J 2022년 2월 27일
T=num2cell(tst,[1,2]);
[x1,x2,x3,x4,x5,x6,x7,x8,x9,x10]=deal(T{:});
save x x*

카테고리

Help CenterFile Exchange에서 Logical에 대해 자세히 알아보기

태그

제품


릴리스

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by