如何创建一个201x 201矩阵,其中所有奇数行交替为3,1,3,偶数行交替为1,2,1,2。我尝试使用随机数生成器,for循环,并考虑使用find命令。我正在尝试生成矩阵,但我收到了错误消息。
答案 0 :(得分:5)
如果我理解你的意思,那么Kronecker产品(kron
)是实现这一目标的最简单方法:
A = kron( ones(101), [3 1; 1 2]);
A = A(1:201, 1:201);
第一个命令根据您的要求创建一个202x202矩阵,第二个命令将1行和1列关闭以符合201x201大小规范。
答案 1 :(得分:3)
使用repmat和矩阵连接:
rowodd =[repmat([3 1],1,100) 3];
roweven=[repmat([1 2],1,100) 1];
mat = [repmat([rowodd;roweven],100,1) ; rowodd];
答案 2 :(得分:2)
您还可以使用meshgrid
和一个为您提供所需结果矩阵的数学函数来创建矩阵:
[X, Y] = meshgrid(1:201, 1:201);
Matrix = 2*mod(X,2) - 2*mod(Y+1,2) + 3*(mod(X+1,2).*mod(Y+1,2)) + 1;