24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1749  |  回复: 4
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

wale0121

新虫 (初入文坛)

[求助] 求助Matlab中如何把几个比特合为一个symbol

项目编程中遇到一个问题,如何用matlab把几个比特合成一个symbol?
具体说就是在一个行向量里,怎么把每8个元素合为一个元素。
比如1*1744的二进制行向量,每8个元素合为一个,变成一个1*250的行向量,新矩阵一个元素就是原来的8个元素。
【1 0 0 0 0 1 1 1 0 0 0 1 1 0 1 0 】变成
【10000111 00011010】
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wale0121

新虫 (初入文坛)

引用回帖:
3楼: Originally posted by csgt0 at 2012-08-20 13:14:45
合成字符串好弄,但要是合成数字就得乘系数吧
x=;
for i=1:2
   y{i}= strcat(num2str(x(8*i-7:8*i)));
end

是合成数字 乘系数是什么意思
4楼2012-08-20 19:19:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 5 个回答

andersonlyw

新虫 (著名写手)

【答案】应助回帖

感谢参与,应助指数 +1
Matlab 不具备太好的二进制计算能力,你这个可以编个小程序,整几个循环计算。还是行得通,但是效率很低。
2楼2012-08-19 18:57:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

csgt0

荣誉版主 (著名写手)

彩色挂图

【答案】应助回帖

感谢参与,应助指数 +1
合成字符串好弄,但要是合成数字就得乘系数吧
x=[1 0 0 0 0 1 1 1 0 0 0 1 1 0 1 0 ];
for i=1:2
   y{i}= strcat(num2str(x(8*i-7:8*i)));
end
showmethemoney
3楼2012-08-20 11:14:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

csgt0

荣誉版主 (著名写手)

彩色挂图

【答案】应助回帖

引用回帖:
4楼: Originally posted by wale0121 at 2012-08-20 19:19:03
是合成数字 乘系数是什么意思...

突然想起,存不了数字,因为有首位数字为零的。
也可以用下面的方法
CODE:
x=[1 0 0 0 0 1 1 1 0 0 0 1 1 0 1 0 ];
t=[2^7,2^6,2^5,2^4,2^3,2^2,2^1,2^0];
for i=1:2
y(i)=sum(t .*x(8*i-7:8*i));
end
yy=dec2bin(y)

showmethemoney
5楼2012-08-21 09:37:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见