如何用matlab生成随机矩阵的问题
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/11/09 04:59:11
如何用matlab生成随机矩阵的问题
我想用matlab在一个矩阵的基础上生成新矩阵.原矩阵的内容全是0或1,要求生成的新矩阵将原矩阵内的1全部替换成由1到12之间的整数,而且每行和每列同样的数字最多出现一次
我想用matlab在一个矩阵的基础上生成新矩阵.原矩阵的内容全是0或1,要求生成的新矩阵将原矩阵内的1全部替换成由1到12之间的整数,而且每行和每列同样的数字最多出现一次
a=randint(3,3)
a(find(a==1))=unidrnd(12,length(find(a==1)),1)
再问: 膜拜,大神啊!这个满足了随机填入的要求,可是没有满足每行和每列同样的数字最多出现一个的要求啊,能不能解决下?我把问题缩小下,每行还是不能有重复的数字,每列的数字非零的数以六个为一组要求那一组的数字不能重复。能不能加我qq460470098,我要跟大神学习!
再答: 可以从左到右,从上到下的顺序加,每加入一个数对左侧和上侧的数进行判断,
再问: 不太明白。。。我刚开始学没多久。能不能给个示范啊。比如说生成一个50*50的矩阵,满足上面的要求用程序示范下。 如果每行或者每列的数字如果超过12个,多的数字就不要在管了。我自己在模仿学习一下。如果弄好了我再加50分,谢大神~~
再答: 请参考一下这个程序
再问: 我好好看一下,要是不懂的我能再找大神问一下吗?直接给分了
a(find(a==1))=unidrnd(12,length(find(a==1)),1)
再问: 膜拜,大神啊!这个满足了随机填入的要求,可是没有满足每行和每列同样的数字最多出现一个的要求啊,能不能解决下?我把问题缩小下,每行还是不能有重复的数字,每列的数字非零的数以六个为一组要求那一组的数字不能重复。能不能加我qq460470098,我要跟大神学习!
再答: 可以从左到右,从上到下的顺序加,每加入一个数对左侧和上侧的数进行判断,
再问: 不太明白。。。我刚开始学没多久。能不能给个示范啊。比如说生成一个50*50的矩阵,满足上面的要求用程序示范下。 如果每行或者每列的数字如果超过12个,多的数字就不要在管了。我自己在模仿学习一下。如果弄好了我再加50分,谢大神~~
再答: 请参考一下这个程序
再问: 我好好看一下,要是不懂的我能再找大神问一下吗?直接给分了