24小时热门版块排行榜    

查看: 2741  |  回复: 9
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

tomcat2000

金虫 (著名写手)

[求助] matlab产生随机二维矩阵,这些随机数只能是-1或者1?

怎么在matlab产生随机二维矩阵,这些随机数只能是-1或者1?比如要产生100X100矩阵。但是还要要求这个产生的随机二维矩阵中,“-1”的总个数不能超过100个。谢谢。
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sudo

木虫 (正式写手)

引用回帖:
7楼: Originally posted by zzzx2008 at 2012-04-23 23:19:12:
兄弟的想法 不错  值得考虑
看看下面 这个 如何?
clear;
clc;
N=10;%二维 矩阵行列值
zero_num=5;%小于零的个数
a=randint(N,N);%0 1 随机
b=reshape(a,1,N*N);% 转化一维 处理方便
c=b*2-1;%+ - 1
...

原来还有randperm这等神物,那么可以写得很简洁了

这个函数返回一个MxN的只含有+-1的矩阵,而且里面-1的个数精确等于K
CODE:
function A = MyMatrix(M, N, K)
    A = ones(1, M*N);
    t = randperm(M*N);
    A(t(1:K)) = -1;
    A = reshape(A, M, N);

如果需要给K增加一个不确定性,比如楼主的要求:“产生100X100矩阵。但是还要要求这个产生的随机二维矩阵中,-1的总个数不能超过100个”,只需要这么调用就行了
CODE:
MyMatrix(100, 100, randi(100))

9楼2012-04-24 10:16:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 10 个回答

awormvista

银虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★
感谢参与,应助指数 +1
tomcat2000: 金币+5, 有帮助 2012-04-22 13:27:57
先随机生成一个矩阵,然后统计下小于N的数量,。。。循环。。。直到数量为100,将这些数改为-1
None
2楼2012-04-22 11:41:28
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xiangqianzsh

木虫 (著名写手)

【答案】应助回帖

★ ★ ★ ★ ★
感谢参与,应助指数 +1
tomcat2000: 金币+5, ★★★很有帮助 2012-04-22 13:28:07
randperm(10^4)生成1:10^4的整数的一个随机排列矩阵,<100的数据换成-1即可,之后把1*10000矩阵变成100*100的矩阵就行了
3楼2012-04-22 12:45:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zzzx2008

银虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
tomcat2000: 金币+15, ★★★★★最佳答案 2012-04-22 13:28:12
这样的矩阵 就不能称为 随机矩阵了啊
clear;
clc;
N=10;%二维 矩阵行列值
zero_num=5;%小于零的个数
a=randint(N,N);%0 1 随机
b=reshape(a,1,N*N);% 转化一维 处理方便
c=b*2-1;%+ - 1
d=find(c<0);%寻找 < 0的 下标
for i=1:length(d)-zero_num
    c(d(i))=c(d(i))+1;%<0 的 +1
end
a=reshape(c,N,N);%回归 二维
这个程序生成的矩阵 -1集中在尾部
4楼2012-04-22 12:53:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 欢迎发来filecode的Mz6后的代码验证其规律 +32 医学老男孩 2026-08-13 72/3600 2026-08-16 13:15 by 医学老男孩
[基金申请] 有时候,自然基金真的不能太认真 (我的申报经验) +10 majunge000 2026-08-11 12/600 2026-08-16 08:18 by xli1984
[精细化工] 招聘 金属平磨液,抛光液研发工程师 +3 小天0311 2026-08-14 3/150 2026-08-16 07:31 by H9PLUS
[基金申请] filecode=后面第一个是大写字母 +6 wangze12014 2026-08-14 7/350 2026-08-15 20:12 by gltch
[基金申请] filecode +8 cratir 2026-08-14 12/600 2026-08-15 18:08 by zyfgau
[基金申请] 小木虫上这么多卖论文的,真有人买论文么?感觉没必要啊 +12 Tide man 2026-08-10 13/650 2026-08-15 16:34 by 氺木
[基金申请] 是这周出结果还是下周出结果? +4 yuleib84 2026-08-11 4/200 2026-08-14 23:05 by lfy8008
[硕博家园] 请教兼职经验 +3 是阿文鸭 2026-08-09 3/150 2026-08-14 12:07 by HER12025
[硕博家园] 读博的好处 +4 lnee 2026-08-11 4/200 2026-08-14 10:20 by ahsoarli
[基金申请] filecode +15 documentary 2026-08-10 17/850 2026-08-14 10:08 by kissu88
[基金申请] FileCode能看出啥? +10 要乐观耀哥 2026-08-10 32/1600 2026-08-14 09:37 by 要乐观耀哥
[基金申请] 静等基金结果 +8 gjjjzhong 2026-08-10 21/1050 2026-08-13 17:56 by 且听虎啸
[基金申请] Filecode 又变了,巨变 +3 WH3796 2026-08-12 4/200 2026-08-13 14:13 by 小木虫6752397
[基金申请] 分享一下我之前已中青C的计划书的filecode +4 布布和一二 2026-08-11 5/250 2026-08-13 12:56 by cratir
[基金申请] 结合人工智能,周易传统文化,filecode打分制来了,3分以上希望很大。 +3 Tide man 2026-08-12 4/200 2026-08-13 08:35 by ZJTJZ
[基金申请] 帮忙看看fileCode +7 wwncly 2026-08-10 13/650 2026-08-11 19:36 by 冰心玉壶晴
[基金申请] 为什么网上很多人说本周 12号出结果 +6 瞬息宇宙 2026-08-10 7/350 2026-08-11 19:25 by Tide man
[基金申请] 什么时候出结果,有咨询渠道??? +3 Tide man 2026-08-11 3/150 2026-08-11 17:54 by kudofaye
[基金申请] 国自然结果 +4 Vierhys 2026-08-10 8/400 2026-08-10 15:06 by Vierhys
[基金申请] 据悉今年马上要出结果了 +7 瞬息宇宙 2026-08-10 8/400 2026-08-10 12:42 by Vivilian
信息提示
请填处理意见