text matrix to scaler matrix
1 view (last 30 days)
Show older comments
Hello I have a matrix such that each cell is a string of numbers example ['10 11 12 13 ';'1 2 3']. I want to convert it into a matrix as[ 10 11 12 13;1 2 3 0]. This matrix contains a text file attachment.I used the function str2num for small matrices but My main work with matrices that have more than one million rows. thank you
kind regards
2 Comments
Azzi Abdelmalek
on 23 Dec 2013
Are you sure it's {'10 11 12 13';'1 2 3'} and not {'10 11 12 13' ;'1 2 3 0'}?
Answers (1)
Azzi Abdelmalek
on 23 Dec 2013
v= {'10 11 12 13 ';'1 2 3 0'}
a=cellfun(@(x) cellfun(@str2double,regexp(x,'\d+','match')),v,'un',0);
out=cell2mat(a)
1 Comment
Azzi Abdelmalek
on 23 Dec 2013
v= {'10 11 12 13 ';'1 2 3 '}
a=cellfun(@(x) cellfun(@str2double,regexp(x,'\d+','match')),v,'un',0);
n=max(cellfun(@numel,a));
out=cell2mat(cellfun(@(x) [x zeros(1,n-numel(x))],a,'un',0))
See Also
Categories
Find more on Numeric Types 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!