How can I convert a matrix into a number?

suppose I have a matrix:
matrix=[1 1 0 1 0 1 1]
then I want it to be
1101011.
I used mat2str, num2str but it didn't satisfied me.
Thankyou! More power to you guys!

 채택된 답변

Mischa Kim
Mischa Kim 2014년 3월 12일
편집: Mischa Kim 2014년 3월 12일

0 개 추천

Use
matstr = strrep(num2str(matrix),' ','')
bin2dec(matstr)
ans =
107

댓글 수: 2

Jaybee
Jaybee 2014년 3월 12일
this helps! thankyou! ive learned a new code :)
Sagar Damle
Sagar Damle 2014년 3월 12일
If your problem is to get 107 from [1 1 0 1 0 1 1],then you can read this :- There are many functions in MATLAB to convert base 10 to base 2 of a number –
1. dec2base()
2. dec2bin()
3. de2bi()
4. dec2binvec()
However,outputs of these are are not in same format. Run this code on your computer for understaning purpose. See help about these functions in MATLAB.
Note : '0' represents ASCII value of zero(0) which is 48. So,
ans2 = dec2base(4,2) - '0'
is same as
ans2 = dec2base(4,2) – 48
Play with these functions! ENJOY!
% Program -
temp1 = dec2base(4,2)
ans1 = str2num(dec2base(4,2))
ans2 = dec2base(4,2) - '0'
temp2 = dec2bin(4)
ans3 = dec2bin(4) - '0'
temp3 = de2bi(4)
temp4 = de2bi(4,'right-msb')
ans4 = de2bi(4,'left-msb')
temp5 = dec2binvec(4)
ans5 = seqreverse(dec2binvec(4))
whos

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

per isakson
per isakson 2014년 3월 12일

0 개 추천

Try
>> sprintf( '%1d', matrix )
ans =
1101011

카테고리

도움말 센터File Exchange에서 Matrices and Arrays에 대해 자세히 알아보기

질문:

2014년 3월 12일

댓글:

2014년 3월 12일

Community Treasure Hunt

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

Start Hunting!

Translated by