how to convert matrix contains numbers to matrix of strings
1 回表示 (過去 30 日間)
古いコメントを表示
Dear all,
I in my code I put my results in a matrix and sorted then extract the first fife columns in a new matrix which I want to convert to matrix contains strings, I found that in the command
A=[a,b,d,g,h]
L=regexprep(sprintf('%011.6f',A),'[.\L]','') , I got exactly the strings that i want but not sort
00117416770003913892002348335300007827780000071162
00282348210009411607005646964200018823210000171120
then after I sorted I tried to get the same strings in a matrix, but I got
L1 =
000209800034030390020482350000680608000006873
L1 =
00746770003938920023483353000078277800000762
I don't no why the {1} disappear the string should be exactly as L.
Thanks in advance
0 件のコメント
採用された回答
Geoff Hayes
2014 年 8 月 12 日
Imola - you seem to have two questions here. The first is why the L1 strings are not 1x50 (like the L in the previous loop), and how to store the data (presumably the L1) in a matrix.
In the call to regexp,
L1=regexprep(sprintf('%011.6f',BB(i,:)),'[.\L1]','')
the \L1 does not refer back to the variable name of L1. This was just a coincidence from the previous for loop where
L=regexprep(sprintf('%011.6f',A),'[.\L]','')
So just replace the L1 with L as follows
L1=regexprep(sprintf('%011.6f',BB(i,:)),'[.\L]','');
(Note - that it seems sufficient to have just '[.]' as the expression so I don't know why you have the '\L' as well.)
In order to save the data to a 4x50 matrix of characters, create the matrix before the for loop (pre-allocating enough memory) and then just copy the output from the regular expression to each row in the matrix as
sortedData = char(zeros(size(R,1),50));
for k=1:4
%regexprep replace string using regular expression
sortedData(k,:) = regexprep(sprintf('%011.6f',BB(k,:)),'[.\L]','');
end
Try the above and see what happens!
0 件のコメント
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Characters and Strings についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!