MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   MATLAB论坛 (https://www.labfans.com/bbs/forumdisplay.php?f=6)
-   -   [求助]如何定义一个只有0和1的二元列向量呀 (https://www.labfans.com/bbs/showthread.php?t=3637)

minniest 2008-06-17 16:52

[求助]如何定义一个只有0和1的二元列向量呀
 
就是定义一个列向量x,其中的元素非0即1。多谢指教

watcher 2008-06-17 16:57

前面有人问过
[url]http://www.labfans.com/showthread.php?t=4518[/url]

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

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

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

我提供一下想法

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:


所有时间均为北京时间。现在的时间是 12:35

Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.