separating numbers in cells

2 views (last 30 days)
I have a matrices like :
1-8 7-1 8-4
4-6 8-5 7-3
I want to separate it as two matrices.
first matrix :
1 7 8
4 8 7
second matrix:
8 1 4
6 5 3
How can I do that?
Thank you

Accepted Answer

Stephen23
Stephen23 on 19 May 2022
Assuming that you have a cell array of character vectors:
C = {'1-8','7-1','8-4';'4-6','8-5','7-3'}
C = 2×3 cell array
{'1-8'} {'7-1'} {'8-4'} {'4-6'} {'8-5'} {'7-3'}
D = split(C,'-');
A = str2double(D(:,:,1))
A = 2×3
1 7 8 4 8 7
B = str2double(D(:,:,2))
B = 2×3
8 1 4 6 5 3

More Answers (1)

David Hill
David Hill on 19 May 2022
Do you mean a cell array like this?
a={'1-8','7-1','8-4';'4-6','8-5','7-3'};
m=zeros(size(a));n=zeros(size(a));
for k=1:numel(a)
m(k)=str2double(a{k}(1));
n(k)=str2double(a{k}(3));
end

Community Treasure Hunt

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

Start Hunting!