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

2 visualizaciones (últimos 30 días)
Pengfei
Pengfei el 18 de Oct. de 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!

Respuestas (1)

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

Iniciar sesión para comentar.

Categorías

Más información sobre Logical en Help Center y File Exchange.

Etiquetas

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by