Effacer les filtres
Effacer les filtres

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

1 vue (au cours des 30 derniers jours)
Pengfei
Pengfei le 18 Oct 2012
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!

Réponses (1)

Azzi Abdelmalek
Azzi Abdelmalek le 18 Oct 2012
abc = rand(2,3,3);
abc2=abc(2,:,:)
save('new.mat', 'abc2')
  2 commentaires
Pengfei
Pengfei le 18 Oct 2012
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 le 18 Oct 2012
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

Connectez-vous pour commenter.

Catégories

En savoir plus sur Matrix Indexing dans Help Center et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by