Convert a matrix to { }
1 view (last 30 days)
Show older comments
Can anyone help me to convert a matrix that is for instance:
0 1 2
3 4 5
6 7 8
called symbols obtained from an image to something that is in the following form symbols= {'0' '1' '2' '3' '4' '5' '6' '7' '8'}.
0 Comments
Answers (3)
Jan
on 6 Oct 2013
Edited: Jan
on 6 Oct 2013
symbols = [0 1 2; ...
3 4 5; ...
6 7 8];
S = sprintf('%g*', symbols.');
S(end) = []; % Remove trailing *
C = regexp(S, '*', 'split');
Another simpler method:
C = cell(1, numel(symbols));
symbols = symbols.';
for iC = 1:numel(symbols)
C{iC} = sprintf('%g', symbols(iC));
end
I'm not convinced, that the conversion will really help to solve your problem.
0 Comments
Andrei Bobrov
on 6 Oct 2013
Edited: Andrei Bobrov
on 7 Oct 2013
A = [0 1 2
3 4 5
6 7 8];
cellstr(sprintf('%d',A')')'
other variant:
regexp(num2str(reshape(A.',1,[])),'\d*','match')
2 Comments
Andrei Bobrov
on 7 Oct 2013
Edited: Andrei Bobrov
on 7 Oct 2013
Hi Jan, I agree with you and I suggest another option.
See Also
Categories
Find more on Characters and Strings 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!