作业帮 > 综合 > 作业

如何在matlab中根据一个矩阵的信息建立对于的01矩阵

来源:学生作业帮 编辑:搜狗做题网作业帮 分类:综合作业 时间:2024/06/13 09:08:16
如何在matlab中根据一个矩阵的信息建立对于的01矩阵
已知矩阵a,如a=[1 3 2 4].目标:产生对于的01矩阵,b=[1 0 0 0 1 1 0 0 0 0],就是说a中的元素是描述b中的01的个数分布.这个代码这样写,求不要用for和while的循环,非常慢!
如何在matlab中根据一个矩阵的信息建立对于的01矩阵
%a = [1 3 2 4];
a = randint(1,randint(1,1,[4 6]),[1 5])
R = arrayfun(@(x) mod(x,2)*ones(1,a(x)),1:length(a),'un',false);
RR = cell2mat(R)
a =
     1     2     5     1     1     2
RR =
     1     0     0     1     1     1     1     1     0     1     0     0
再问: 如果a里面的有1000个元素,那怎样写会快些
再答: tic
a = randint(1,1000,[1 5]);
R = arrayfun(@(x) mod(x,2)*ones(1,a(x)),1:length(a),'un',false);
RR = cell2mat(R);
tocElapsed time is 0.012447 seconds.    % 此方法所用的时间