数学建模社区-数学中国

标题: 矩阵,求帮忙解决~ [打印本页]

作者: 岁月静好。    时间: 2013-6-13 09:27
标题: 矩阵,求帮忙解决~
产生一个100行100列的矩阵,要求里面元素只含0和1,每行和每列只有3个1
还是这个没办法实现?
作者: gt93    时间: 2013-8-25 22:10
楼主好~
代码一:
  1. clc
  2. clear all
  3. A=ones(3);
  4. N=100;
  5. for i=1:N-3
  6.     M=length(A(1,:));
  7.     for j=1:M
  8.         AA(j,j+1)=0;
  9.         AA(j,1:j)=A(j,1:j);
  10.         AA(j,j+2:M+1)=A(j,j+1:end);
  11.     end
  12.     AA(M+1,:)=3-sum(AA);
  13.     A=AA;
  14. end
  15. B=zeros(M+1);
  16. B1=zeros(M+1);
  17. B2=randperm(M+1);
  18. B3=randperm(M+1);
  19. for j=1:M+1
  20.     B(j,B2(j))=1;
  21.     B1(j,B3(j))=1;
  22. end
  23. A=B1*A*B
复制代码
代码二:
  1. A=zeros(100,100);
  2. for j=1:100
  3. A(j:j+2,j)=ones(3,1);%超过100的j+1,j+2取余数
  4. end
复制代码

作者: 一匹狼    时间: 2013-8-26 08:16
gt93 发表于 2013-8-25 22:10
楼主好~
代码一:代码二:

代码二生成的A是102*100矩阵
作者: 一匹狼    时间: 2013-8-26 08:21
gt93 发表于 2013-8-25 22:10
楼主好~
代码一:代码二:

也不是每行和每列只有3个1
作者: 天空和海    时间: 2013-8-26 10:46
gt93 发表于 2013-8-25 22:10
楼主好~
代码一:代码二:

围观,学习了!
作者: gt93    时间: 2013-8-26 14:23
一匹狼 发表于 2013-8-26 08:16
代码二生成的A是102*100矩阵

呵呵,剩下的几个可以赋值,你真的很认真呀,此处仅修复成100*100方正。
  1. clc;clear
  2. A=zeros(100,100);
  3. for j=1:100
  4. A(j:j+2,j)=ones(3,1);%超过100的j+1,j+2取余数
  5. end
  6. A(101,:)=[];
复制代码

作者: qq826766909    时间: 2013-8-26 16:31
学习一下。。
作者: 逆___行    时间: 2013-8-26 20:29
围观,围观
作者: 灯皇    时间: 2013-8-28 08:26
碉堡了              
作者: 岁月静好。    时间: 2013-8-29 10:54
gt93 发表于 2013-8-25 22:10
楼主好~
代码一:代码二:

谢谢了~~呃呃,在Matlab提问的那个人也是我,大家都很给力~




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5