数组问题

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个二进制字符串转换为十进制的啊
...全文
39 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
青松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;

3,423

社区成员

发帖
与我相关
我的任务
社区描述
其他开发语言 其他开发语言
社区管理员
  • 其他开发语言社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧