Moving the contents in the cell array

조회 수: 47 (최근 30일)
Gopalakrishnan venkatesan
Gopalakrishnan venkatesan 2016년 9월 2일
댓글: Walter Roberson 2019년 1월 10일
data = {'abc' , 'def' , 'ghi'}
I have a cell array named data. Now i need to move the contents to another index in the same array and delete the older contents.
for example: data([4 5 6]) = data
This will give the result as data = {'abc' , 'def' , 'ghi', 'abc' , 'def' , 'ghi'}. Instead of this i just need to move the contents based on the index number and empty the contents in the older position.
Answer should be like this,
data = {[],[],[],'abc' , 'def' , 'ghi'}
How can i do it?
Thanks a lot

답변 (4개)

Stephen23
Stephen23 2016년 9월 2일
편집: Stephen23 2016년 9월 2일
>> data = {'abc' , 'def' , 'ghi'};
>> data(4:6) = data;
>> data(1:3) = {[]}
data =
[] [] [] 'abc' 'def' 'ghi'
OR
>> data = [repmat({[]},1,numel(data)),data]
data =
[] [] [] 'abc' 'def' 'ghi'
OR
>> data(4:6) = {[]};
>> data = circshift(data,[1,3])
data =
[] [] [] 'abc' 'def' 'ghi'
OR
>> tmp = {[]};
>> data = circshift([data,tmp([1,1,1])],[1,3])
data =
[] [] [] 'abc' 'def' 'ghi'
OR
>> data(2,:) = {[]};
>> data = reshape(flipud(data)',1,[])
data =
[] [] [] 'abc' 'def' 'ghi'
OR
>> data = repmat(data,1,2);
>> data(1:3) = {[]}
data =
[] [] [] 'abc' 'def' 'ghi'

Azzi Abdelmalek
Azzi Abdelmalek 2016년 9월 2일
data = {'abc' , 'def' , 'ghi'}
data1([4 5 6])=data
  댓글 수: 4
Bachtiar Muhammad Lubis
Bachtiar Muhammad Lubis 2019년 1월 10일
how if we have a cell that contains binary image or another image. how can we move that image that was stored o a new variable? so that we can show it using imshow().
Walter Roberson
Walter Roberson 2019년 1월 10일
new_variable = name_of_cell{row_index, column_index};
imshow(new_variable)
but note that imshow() would be happy with
imshow( name_of_cell{row_index, column_index} );

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


KSSV
KSSV 2016년 9월 2일
data = {'abc' , 'def' , 'ghi'} ;
iwant = cell(1,6) ;
iwant(4:6) = data ;
  댓글 수: 1
Gopalakrishnan venkatesan
Gopalakrishnan venkatesan 2016년 9월 2일
I want to move it in the same cell array. Not by shifting it to another new cell array

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


KSSV
KSSV 2016년 9월 2일
data = [cell(1,3) data]
  댓글 수: 2
Gopalakrishnan venkatesan
Gopalakrishnan venkatesan 2016년 9월 2일
If i get the index as [4 7 9] then above does it work. I will get the random index and based on the index number i need the place the contents in the cell array
KSSV
KSSV 2016년 9월 2일
That case you have to initialize the cells empty with some name...and replace your data with the indices...like get iwant and rename it as data again...

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

카테고리

Help CenterFile Exchange에서 Workspace Variables and MAT-Files에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by