error when using horzcat

Hi for all...
i have error when using horzcat >>> i crate two vectors randomly ( count1=randi(0:1 ,[1,32]); ) and ( count2=randi(0:1 ,[1,32]); ) and i have this vector number ( d0 = dec2bin( 17623,15); ) the problem is : when i using horzcat ( count1,count2,d0) the result appear with some symbols
can anyone help me

 采纳的回答

The problem is that the output from dec2bin is a string, so horizcat considers everything a string. The ‘symbols’ you see are therefore ‘d0’. To see all of the variables as a string of [0 1] ‘bits’ (strings in this instance), use num2str:
count1=num2str(randi(0:1 ,[1,32]),'%d');
count2=num2str(randi(0:1 ,[1,32]),'%d');
d0 = dec2bin( 17623,15);
result = horzcat(count1,count2,d0)

4 个评论

thank you .. but i cann't using (xor)operation with the result
count1=num2str(randi(0:1 ,[1,32]),'%d');
count2=num2str(randi(0:1 ,[1,32]),'%d');
d0 = dec2bin( 17623,15);
result1 = horzcat(count1,count2,d0)
count4=num2str(randi(0:1 ,[1,32]),'%d');
count3=num2str(randi(0:1 ,[1,32]),'%d');
d0 = dec2bin( 17623,15);
result2 = horzcat(count3,count4,d0)
did you have another suggestion
My pleasure.
You didn’t mention using xor!
It’s necessary to be creative for this to work:
count1=num2str(randi(0:1 ,[1,32]),'%d');
count2=num2str(randi(0:1 ,[1,32]),'%d');
d0 = dec2bin( 17623,15);
result1 = horzcat(count1,count2,d0);
count4=num2str(randi(0:1 ,[1,32]),'%d');
count3=num2str(randi(0:1 ,[1,32]),'%d');
d0 = dec2bin( 17623,15);
result2 = horzcat(count3,count4,d0);
result1n = uint8(result1)-48;
result2n = uint8(result2)-48;
xor_result = xor(result1n, result2n);
fprintf(1, ['\nxor_result = ' repmat('% d', 1, length(xor_result)) '\n'], xor_result);
produces (in this instance, results will differ between runs):
xor_result = 1 0 1 0 0 1 1 1 0 1 1 1 0 1 1 0 0 1 1 1 1 0 0 1 1 1 0 0 0 1 0 0 1 0 1 1 1 1 1 1 0 0 0 0 0 0 0 1 0 1 1 0 0 0 1 0 0 0 0 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
There might be more efficient ways to do this (since I don’t usually work with binary strings). Even if inefficient, this has the virtue of producing the correct result.
thank you very much

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Dates and Time 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by