フィルターのクリア

Save part of a big matrix to *.mat of another name

1 回表示 (過去 30 日間)
Pengfei
Pengfei 2012 年 10 月 18 日
Hi,
Now I have a 3D matrix: abc = rand(2,3,3); I want to save only the second layer of the matrix abc(2,:,:) to the workspace, with the name of, e.g. new.mat
Matlab accepts the following code: save('new.mat', 'abc')
But not save('new.mat', 'abc(2,:,:)')
What should I do? any suggestion is appreciated!

回答 (1 件)

Azzi Abdelmalek
Azzi Abdelmalek 2012 年 10 月 18 日
abc = rand(2,3,3);
abc2=abc(2,:,:)
save('new.mat', 'abc2')
  2 件のコメント
Pengfei
Pengfei 2012 年 10 月 18 日
Hi, thanks. But for my case, the abc matrix is huge, and I have to be very frugal about the memory. Making a copy like abc2=abc(2,:,:) will take more space and lower the speed for the code.
Azzi Abdelmalek
Azzi Abdelmalek 2012 年 10 月 18 日
I suggest
abc = rand(2,3,3);
abc2=abc(2,:,:)
abc(2,:,:)=[]
save('new.mat', 'abc2')
or if you don't need abc
clear abc % just before saving abc2

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeMatrix Indexing についてさらに検索

製品

Community Treasure Hunt

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

Start Hunting!

Translated by