how to add one space to a matrix ?
1 回表示 (過去 30 日間)
古いコメントを表示
am using this code to generate binary matrix dec2bin(rand(50,1)*2^32) but i need to add one space between the matrix element so i can use it for other commands. the output matrix needs space to be useful for other calculation. how to do this?
0 件のコメント
採用された回答
Guillaume
2014 年 11 月 9 日
編集済み: Guillaume
2014 年 11 月 9 日
The following would work:
m = dec2bin(rand(50,1)*2^32)
mwithspaces = cell2mat(regexprep(num2cell(m, 2),'\d(?=\d)', '$0 '));
I have to ask though, why do you want to do that? It seems like an unnecessary step. I would think that any algorithm that follows is probably going to remove these spaces one way or another.
edit: was missing a bracket
5 件のコメント
Guillaume
2014 年 11 月 9 日
As commented on Jan's answer, inserting spaces is a red herring. To convert a string of zeros and ones into a matrix of zeros and ones numbers, simply subtract '0' from the string.
This may be what you're looking for:
M = dec2bin(rand(10, 1) * 2^32);
M = M - '0'; %convert M into an array of numbers 0 or 1
[m, n] = size(M);
M2 = [zeros(m, 3*ceil(n/3)-n), M];
X = xor(xor(M2(:, 1:3:end-2), M2(:, 2:3:end-1)), M2(:, 3:3:end))
その他の回答 (2 件)
Jan
2014 年 11 月 9 日
編集済み: Jan
2014 年 11 月 9 日
s = dec2bin(rand(50,1)*2^32);
t = repmat(' ', size(s, 1), size(s, 2) * 2 - 1);
t(:, 1:2:end) = s;
2 件のコメント
Guillaume
2014 年 11 月 9 日
編集済み: Guillaume
2014 年 11 月 9 日
I don't know what CA rule 150 is so why don't you explain it.
It is now clear however, that your original question is a case of xy problem. Looking at your attempted code, you don't need to insert spaces and actually want to operate on numbers rather than strings.
xor certainly does not work with strings.
See comment on my own answer for a possible solution.
yonatan gerufi
2014 年 11 月 9 日
see in the "file exchange" :
3 件のコメント
yonatan gerufi
2014 年 11 月 9 日
perhaps i misunderstood you.
the code : dec2bin(rand(50,1)*2^32)
gives you string of ones & zeros. you can pad it with ' ' (space), and then you will have space between the elements.
Image Analyst
2014 年 11 月 9 日
It gives a 2D character array, not a simple string. I think maybe he wants all those rows concatenated together with a space in between them.
参考
カテゴリ
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!