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

 Akzeptierte Antwort

Star Strider
Star Strider am 25 Jan. 2015

0 Stimmen

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 Kommentare

mays afif
mays afif am 25 Jan. 2015
Bearbeitet: Star Strider am 25 Jan. 2015
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
Star Strider
Star Strider am 25 Jan. 2015
Bearbeitet: Star Strider am 25 Jan. 2015
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.
mays afif
mays afif am 25 Jan. 2015
thank you very much
Star Strider
Star Strider am 25 Jan. 2015
My pleasure!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Community Treasure Hunt

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

Start Hunting!

Translated by