How can i assign 00 to -3d, 01 to -d, 11 to +d, 10 to +3d if i have a binary string x = char('0' + (rand(1, 1000) < 0.5))?

 채택된 답변

Azzi Abdelmalek
Azzi Abdelmalek 2016년 4월 19일
편집: Azzi Abdelmalek 2016년 4월 19일

0 개 추천

x = char('0' + (rand(1, 1000) < 0.5))
a={'-3d' '-d' '+d' '+3d'}
idx=bin2dec(reshape(x,2,[])')+1
out=a(idx)
If you want to join them
out=strjoin(a(idx),'')

댓글 수: 4

Ying Wai Wong
Ying Wai Wong 2016년 4월 19일
I am new to Matlab. What is idx mean? There is idx = 231412344.....etc
Azzi Abdelmalek
Azzi Abdelmalek 2016년 4월 19일
편집: Azzi Abdelmalek 2016년 4월 19일
There is an error;
a={'-3d' '-d' '+3d' '+d'}
You have
00 corresponds to index idx=1
01 corresponds to index idx=2
10 corresponds to index idx=3
11 corresponds to index idx=4
Ying Wai Wong
Ying Wai Wong 2016년 4월 19일
ahh yes, cheers mate! and if i want to change d to 1 how can i do it?
strrep(out,'d','1')

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

추가 답변 (0개)

카테고리

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

질문:

2016년 4월 19일

댓글:

2016년 4월 19일

Community Treasure Hunt

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

Start Hunting!

Translated by