登录论坛

查看完整版本 : [求助]如何定义一个只有0和1的二元列向量呀


minniest
2008-06-17, 16:52
就是定义一个列向量x,其中的元素非0即1。多谢指教

watcher
2008-06-17, 16:57
前面有人问过
http://www.labfans.com/showthread.php?t=4518

minniest
2008-06-17, 17:05
多谢,多谢,那又没有办法限制1的个数呢?比如说一个列向量中,我只希望有4给位置是1

watcher
2008-06-17, 17:20
这个问题也可以这样想吧,
有一个全零列向量(函数zeros生成),将其中任意四个位置的值置为1。
于是解决问题的方法就是:
a=zeros(n,1);%n列向量行数
b=randint(1,4,n);%产生4个在0~n-1范围内的随机整数
a(b+1,1)=1;%将由b决定的行元素置为1

fgabertb
2008-06-18, 13:43
这个问题也可以这样想吧,
有一个全零列向量(函数zeros生成),将其中任意四个位置的值置为1。
于是解决问题的方法就是:
a=zeros(n,1);%n列向量行数
b=randint(1,4,n);%产生4个在0~n-1范围内的随机整数
a(b+1,1)=1;%将由b决定的行元素置为1

樓上跑出來的結果有點不對喔

我提供一下想法

n = 5 %想要有5個1
t = 10; % 0 1矩陣的總長
a = zeros(1,t);
b = randperm(t);
a(b(1:n)) = 1:smile:

watcher
2008-06-18, 15:23
确实,因为行标可能重复,所以有时运行会失败

minniest
2008-06-23, 10:33
多谢大侠们指教呀!:lovely: