24小时热门版块排行榜    

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

rxy7cm

铜虫 (小有名气)

[求助] 怎么在一个0矩阵中产生随机分布的1小矩阵

要在一个100*100的0矩阵中产生随机分布的5*5的1矩阵,MATLAB可以实现,但是C语言就是不行,求大神指点,帮忙转化成C语言,现在问题应该出在C语言产生随机数上。
MATLAB代码如下:                 

a=zeros(100,100);
for i =1:100
for j=1:100
p=round((i+4)/5);
q=round((j+4)/5);
m=rand;
for c1=1:5
for c2=1:5
if m>0.3
a((p-1)*5+c1,(q-1)*5+c2)=1;
else
a((p-1)*5+c1,(q-1)*5+c2)=0;
end
end
end
end
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

rxy7cm

铜虫 (小有名气)

引用回帖:
3楼: Originally posted by 绿遍山原 at 2013-11-06 11:07:04
不好意思看错了,应该是m=((double) rand())/RAND_MAX 产生0-1之间的小数。...

能帮忙把语言转化成C语言吗?自己写的运行不出来
double rate=0.3;
void main()

{
        fp1=fopen(WXYZ_1,"w";

        for(i = 1; i<n; i++)

        {                        
                p=(i+4)/5;
       
                for(j =1; j<n; j++)               
                {                                
                        q=(j+4)/5;       
  
                        srand((unsigned)time(NULL));

                      r=((double)rand())/RAND_MAX;

                        for(c1 = 1; c1<m; c1++)                       
                        {  
       
                                a=(p-1)*m+c1;                 
                                for(c2 = 1; c2<m; c2++)
       
                                {  
                                        b=(q-1)*m+c2;
                               
                                if(r>rate)                                                               
                                A[a]=1;
                                else
                                A[a]=0;
                                       
                                       
               
                                }
                       
                       
               
                               

               
                        }


fprintf(fp1,"%d ",A[j]);       

                       
                                                               
       
                }       


        fprintf(fp1,"%d\n";
       
       
       
        }                               
        fclose(fp1);
}
4楼2013-11-06 16:43:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 5 个回答

绿遍山原

铜虫 (小有名气)

【答案】应助回帖

感谢参与,应助指数 +1
用m = rand() % 100产生0-99之间的随机整数,然后按你的程序赋值就行了。要包含stdlib.h
要夢遊,不要催眠。
2楼2013-11-06 11:04:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

绿遍山原

铜虫 (小有名气)

【答案】应助回帖

引用回帖:
2楼: Originally posted by 绿遍山原 at 2013-11-06 11:04:12
用m = rand() % 100产生0-99之间的随机整数,然后按你的程序赋值就行了。要包含stdlib.h

不好意思看错了,应该是m=((double) rand())/RAND_MAX 产生0-1之间的小数。
要夢遊,不要催眠。
3楼2013-11-06 11:07:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

rxy7cm

铜虫 (小有名气)

引用回帖:
4楼: Originally posted by rxy7cm at 2013-11-06 16:43:05
能帮忙把语言转化成C语言吗?自己写的运行不出来
double rate=0.3;
void main()

{
        fp1=fopen(WXYZ_1,"w";

        for(i = 1; i<n; i++)

        {                        
                p=(i+4)/5;
       
                for(j =1; j<n; j++)         ...

你这不对吧,得输出矩阵彩信,你输出的咋是一维的
5楼2013-11-06 17:02:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 时间戳又变了 +11 wuchongjun 2026-08-20 16/800 2026-08-20 19:26 by wuchongjun
[基金申请] 科研孤儿太难了 +9 我4大白菜 2026-08-20 9/450 2026-08-20 18:23 by 2549091707
[基金申请] 时间戳变了,能看出什么问题? +18 基诺咪客 2026-08-17 23/1150 2026-08-20 17:19 by Godzela
[基金申请] 只有每年这种时候来逛逛小木虫 +21 yaoyewhu2008 2026-08-20 22/1100 2026-08-20 17:03 by yaoyewhu2008
[基金申请] 今天系统多次维护,明天很可能放榜! +9 zju2000 2026-08-16 10/500 2026-08-20 15:56 by Leogzhya
[基金申请] 放榜前的不淡定 40+3 snowwithsea 2026-08-19 12/600 2026-08-20 15:56 by lfy8008
[基金申请] 言之凿凿,明天官网会通知放榜? +14 医学老男孩 2026-08-20 16/800 2026-08-20 15:47 by LNP@mRNA
[基金申请] 重要消息,中午系统在维护 +11 yuleib84 2026-08-18 12/600 2026-08-20 11:09 by xskun
[基金申请] 哪位老哥知道今年的国自然具体哪一天放榜? +16 Ldrop2023 2026-08-13 20/1000 2026-08-20 11:07 by xskun
[基金申请] 今天基金会出结果吗?20260819 +14 kkkl_v 2026-08-19 15/750 2026-08-20 08:21 by sunzitan
[基金申请] filecode,4个jtjc了 +11 ziyangfang 2026-08-19 13/650 2026-08-19 21:28 by aasahr
[基金申请] 今天放榜吗? +14 布布和一二 2026-08-19 15/750 2026-08-19 18:07 by gltch
[基金申请] 朋友圈看到的 +6 wangzilk 2026-08-18 8/400 2026-08-19 10:55 by Haru815
[基金申请] 快农历七夕节了,轻松一下,男人悄悄话,女施主请不要进来。 +6 Tide man 2026-08-14 7/350 2026-08-19 09:56 by ZJTJZ
[基金申请] 什么时候开奖? +6 CrisMessi 2026-08-18 6/300 2026-08-19 08:06 by Equinoxhua
[基金申请] 明天放榜? +5 Shxjjxjkx 2026-08-18 5/250 2026-08-18 18:14 by -大大大大大-
[基金申请] 时间戳又变了8-15 +14 archvillain 2026-08-15 26/1300 2026-08-18 13:37 by phantomgost
[基金申请] 今天维护系统维护 祝所有人 高中 +8 gjjjzhong 2026-08-18 9/450 2026-08-18 13:01 by 家与远方
[基金申请] 感觉是下周放榜了 +6 angus9576 2026-08-17 11/550 2026-08-17 23:57 by angus9576
[精细化工] 招聘 金属平磨液,抛光液研发工程师 +3 小天0311 2026-08-14 3/150 2026-08-16 07:31 by H9PLUS
信息提示
请填处理意见