text matrix to scaler matrix

1 回表示 (過去 30 日間)
min ho lee
min ho lee 2013 年 12 月 23 日
コメント済み: Azzi Abdelmalek 2013 年 12 月 23 日
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 件のコメント
Azzi Abdelmalek
Azzi Abdelmalek 2013 年 12 月 23 日
Are you sure it's {'10 11 12 13';'1 2 3'} and not {'10 11 12 13' ;'1 2 3 0'}?
min ho lee
min ho lee 2013 年 12 月 23 日
Yes, I'm sure. I've attached the input and output matrices. Output matrix was created by hand, but for large data sets it is not logical.

サインインしてコメントする。

回答 (1 件)

Azzi Abdelmalek
Azzi Abdelmalek 2013 年 12 月 23 日
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 件のコメント
Azzi Abdelmalek
Azzi Abdelmalek 2013 年 12 月 23 日
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))

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeNumeric Types についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by