如何用Matlab生成只含0,1值的随机矩阵,要求限制1的数量,且对角线上的值都为0.
来源:学生作业帮 编辑:百度作业网作业帮 分类:数学作业 时间:2024/07/02 19:52:37
如何用Matlab生成只含0,1值的随机矩阵,要求限制1的数量,且对角线上的值都为0.
比如矩阵规模为20*20,其中1的数量为43,其余都为0.
比如矩阵规模为20*20,其中1的数量为43,其余都为0.
![如何用Matlab生成只含0,1值的随机矩阵,要求限制1的数量,且对角线上的值都为0.](/uploads/image/z/76405-13-5.jpg?t=%E5%A6%82%E4%BD%95%E7%94%A8Matlab%E7%94%9F%E6%88%90%E5%8F%AA%E5%90%AB0%2C1%E5%80%BC%E7%9A%84%E9%9A%8F%E6%9C%BA%E7%9F%A9%E9%98%B5%2C%E8%A6%81%E6%B1%82%E9%99%90%E5%88%B61%E7%9A%84%E6%95%B0%E9%87%8F%2C%E4%B8%94%E5%AF%B9%E8%A7%92%E7%BA%BF%E4%B8%8A%E7%9A%84%E5%80%BC%E9%83%BD%E4%B8%BA0.)
A=zeros(4,4);
idx=randperm(4*4);
A(idx(1:5))=1;
A(logical(eye(size(A))))=0
再问: 您好,这里面哪个值决定了1的数量呢?谢谢~~
再答: idx(1:5) 5决定了1的数量 不过还有个问题,如果正好对角线上有1的话,最后会被替换成0 需要从dx=randperm(4*4)中去掉对角线的标号
再问: 这个需要怎么操作呢,我完全是小白,希望得到您的帮助,谢谢。
再答: A=zeros(20,20); idx=randperm(20*20); dignum = 1 : 20 : 20*20; c=rem(idx,(20+1)); idx(find(c==1))=[]; A(idx(1:43))=1; A(logical(eye(size(A))))=0
idx=randperm(4*4);
A(idx(1:5))=1;
A(logical(eye(size(A))))=0
再问: 您好,这里面哪个值决定了1的数量呢?谢谢~~
再答: idx(1:5) 5决定了1的数量 不过还有个问题,如果正好对角线上有1的话,最后会被替换成0 需要从dx=randperm(4*4)中去掉对角线的标号
再问: 这个需要怎么操作呢,我完全是小白,希望得到您的帮助,谢谢。
再答: A=zeros(20,20); idx=randperm(20*20); dignum = 1 : 20 : 20*20; c=rem(idx,(20+1)); idx(find(c==1))=[]; A(idx(1:43))=1; A(logical(eye(size(A))))=0
如何用Matlab生成只含0,1值的随机矩阵,要求限制1的数量,且对角线上的值都为0.
matlab怎么生成一个主对角为0,1随机的矩阵,其他元素为0
如何用matlab生成随机矩阵的问题
c语言生成对角矩阵我想编写一个C语言生成任意维数对角矩阵的子函数,希望输入矩阵维数,返回结果为该维数对角线上都为1的矩阵
matlab生成一个M*N随机矩阵,要求该矩阵的均值是1*10^-6
matlab怎么随机生成1,0,-1的矩阵
matlab问题:产生对角线上全为1,其余为0的2行3列矩阵的命令
matlab如何生成对角线为无穷大的矩阵,比如说生成20*20的矩阵,对角元素为无穷大,其他为在5-10之间随机取的数(
matlab如何生成每行之和等于1的随机矩阵?
如何用matlab生成围绕1.5波动的随机数据
如何用matlab产生只有0和1的长度为N的随机序列
matlab如何生成对角元素为无穷大,且对称的矩阵,具体要求如下:比如生成一个20X20的矩阵,对角元素为无穷大,其他元