필터 지우기
필터 지우기

Random save two large matrices in the same manner?

조회 수: 1 (최근 30일)
Salem
Salem 2014년 11월 16일
댓글: Salem 2014년 11월 16일
I have a matrix M1 and a vector M2. M1 is 4d matrix sized [150*150*3*9000] and the vector M1 is [9000*1]. Both of them saved using this command, save ('data. mat','M1','M2','-7,3'). I want to save the data randomly in both M1 & M2 but I need the rows in both M1 & M2 go together because M1 is the labeled or value of the images in M2. I tried many code, but after the change I found new rows in M2 is pointing to new rows in M1 which change the labels of the data. I tried for loop, but I've gone out of memory. So, could someone please share with me some an efficient code or way to do like this operation. Thanks in advanced.
  댓글 수: 2
Guillaume
Guillaume 2014년 11월 16일
What do you mean by save the data randomly. You either save a variable or you don't.
Do you mean you want to save only part of the matrices at random? Or save a random permutation of the matrix? Or something else?
Also, please don't add irrelevant tags and products. Your question has nothing to do with image processing or parallel toolbox.
Salem
Salem 2014년 11월 16일
편집: Salem 2014년 11월 16일
Thanks Guillaume,
Thanks for replying. I want to save the variables in the matrix randomly. like
Sorry for adding irrelevant tags and products, I though images may is related because this matrix are images.

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

채택된 답변

the cyclist
the cyclist 2014년 11월 16일
편집: the cyclist 2014년 11월 16일
Here's one way. It will shuffle M1 and M2 in place:
% Smaller version of your data
M1 = rand(5,5,3,9);
M2 = rand(9,1);
% Create an random index into your matrices
idx = randperm(9);
% Shuffle both matrices by the same index, preserving the relationship
M1 = M1(:,:,:,idx);
M2 = M2(idx);
Then you can save them.

추가 답변 (0개)

카테고리

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

Community Treasure Hunt

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

Start Hunting!

Translated by