Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2008-06-17, 16:52   #1
minniest
初级会员
 
注册日期: 2008-06-16
年龄: 40
帖子: 4
声望力: 0
minniest 正向着好的方向发展
默认 [求助]如何定义一个只有0和1的二元列向量呀

就是定义一个列向量x,其中的元素非0即1。多谢指教
minniest 当前离线   回复时引用此帖
旧 2008-06-17, 16:57   #2
watcher
高级会员
 
注册日期: 2008-04-02
年龄: 47
帖子: 175
声望力: 21
watcher 正向着好的方向发展
默认

前面有人问过
http://www.labfans.com/showthread.php?t=4518
watcher 当前离线   回复时引用此帖
旧 2008-06-17, 17:05   #3
minniest
初级会员
 
注册日期: 2008-06-16
年龄: 40
帖子: 4
声望力: 0
minniest 正向着好的方向发展
默认

多谢,多谢,那又没有办法限制1的个数呢?比如说一个列向量中,我只希望有4给位置是1
minniest 当前离线   回复时引用此帖
旧 2008-06-17, 17:20   #4
watcher
高级会员
 
注册日期: 2008-04-02
年龄: 47
帖子: 175
声望力: 21
watcher 正向着好的方向发展
默认

这个问题也可以这样想吧,
有一个全零列向量(函数zeros生成),将其中任意四个位置的值置为1。
于是解决问题的方法就是:
a=zeros(n,1);%n列向量行数
b=randint(1,4,n);%产生4个在0~n-1范围内的随机整数
a(b+1,1)=1;%将由b决定的行元素置为1
watcher 当前离线   回复时引用此帖
旧 2008-06-18, 13:43   #5
fgabertb
普通会员
 
注册日期: 2008-03-25
年龄: 40
帖子: 58
声望力: 19
fgabertb 正向着好的方向发展
默认

引用:
作者: watcher 查看帖子
这个问题也可以这样想吧,
有一个全零列向量(函数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:
fgabertb 当前离线   回复时引用此帖
旧 2008-06-18, 15:23   #6
watcher
高级会员
 
注册日期: 2008-04-02
年龄: 47
帖子: 175
声望力: 21
watcher 正向着好的方向发展
默认

确实,因为行标可能重复,所以有时运行会失败
watcher 当前离线   回复时引用此帖
旧 2008-06-23, 10:33   #7
minniest
初级会员
 
注册日期: 2008-06-16
年龄: 40
帖子: 4
声望力: 0
minniest 正向着好的方向发展
默认

多谢大侠们指教呀!:lovely:
minniest 当前离线   回复时引用此帖
回复

主题工具
显示模式

发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码


相似的主题
主题 主题作者 版面 回复 最后发表
[求助]vb中用com调用matlab中的linprog()函数的问题 liccc MATLAB论坛 0 2008-05-02 09:56
[分享]推荐〖愚愚学园〗文献检索的好去处 luminpeng 学术科研 0 2008-05-02 01:56


所有时间均为北京时间。现在的时间是 13:26


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