Writing first and last line of each cell
1 view (last 30 days)
Show older comments
Leonardo Barbosa Torres dos Santos
on 7 Apr 2019
Edited: madhan ravi
on 7 Apr 2019
Dear, I have a question about write file.
I have a file xxMM. It is a 19x1 cell.
The first cell has 14x6 double. The second cell has 12x6 double. The third 9x6 double. The fourth 6x6 double and etc.
I would like write a file (double) with only the last line of each cell. Only of first cell (14x6) I would like write the first and of last line of cell. All the others I would like to write only the last line
For example, the file is xx.
I would like that xx be a double and that the first line be the first and the last line and the six columns of first file (cell) of xxMM.
The second line of xx be only the last line and the six columns of second file (cell) of xxMM.
The third line of xx be only the last line and the six columns of third file (cell) of xxMM and etc.
I did it:
xx=zeros(length(xxMM),6);
for i=1:length(xxMM)
a=xxMM{i};
xx(i,:)=a(end,:);
But, the form I just write the last line of each cell. But the first cell I would like of first and the last line.
How can I do it ?
Thank you advanced
0 Comments
Accepted Answer
dpb
on 7 Apr 2019
Edited: dpb
on 7 Apr 2019
Just have to handle the special case outside the loop...
xx=zeros(length(xxMM)+1,6);
xx(1,:)=xxMM{1,:}(1,:);
for i=1:length(xxMM)
xx(i+1,:)=xxMM{i}(end,:);
end
or, you could dispense with the explicit for...end loop with cellfun
xx=[xxMM{1}(1,:);cell2mat(cellfun(@(x) x(end,:),xxMM,'uni',0))];
3 Comments
dpb
on 7 Apr 2019
I did a test here on sample; code worked just fine...post the actual code and error message. Maybe you missed "the curlies" to dereference the cell???
madhan ravi
on 7 Apr 2019
Edited: madhan ravi
on 7 Apr 2019
xx(1,:)=xxMM{1,:}(1,:);
% ^^^^^----- was missing at the beginning
More Answers (0)
See Also
Categories
Find more on Loops and Conditional Statements in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!