数组问题

wajuesuanfa111 2013-07-12 11:32:05
s1 = '10011';l=5;r=3;
result = [];
add = ['00';'01';'10';'11'];
for i=1:r
result(1:2^(l-r),i:i+2,i) = repmat(s(i:i+2),[2^(l-r),1]);
end
result(:,4:5,1) = add;
result(:,[1,5],2) = add;
result(:,1:2,3) = add;
result = arrayfun(@char,result)
结果为
result(:,:,1) =

10000
10001
10010
10011

result(:,:,2) =

00010
00011
10010
10011

result(:,:,3) =

00011
01011
10011
11011

如何把这12个二进制字符串转换为十进制的啊
...全文
23 点赞 收藏 1
写回复
1 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
青松2 2013-07-12
Matlab函数:将二进制字符串转化为十进制数字
function f=my_bin2dec(integer,decimal)
% transform a positive binary number to a decimal number
% input:
% integer: integer fraction of a binary number (string)
% decimal: decimal fraction of a binary number (string)
% output:
% f: a decimal number
% eg: f=my_bin2dec('111','001')
int=0;n=length(integer);
for i=1:n
    int=int+str2num(integer(i))*2^(n-i);
end
dec=0;m=length(decimal);
for i=1:m
    dec=dec+str2num(decimal(i))*2^(-i);
end
f=int+dec;
回复
相关推荐
发帖
其他开发语言
创建于2007-08-27

3381

社区成员

其他开发语言 其他开发语言
申请成为版主
帖子事件
创建了帖子
2013-07-12 11:32
社区公告
暂无公告