如何创建matlab 201X 201矩阵

时间:2012-09-10 17:53:30

标签: matlab matrix

如何创建一个201x 201矩阵,其中所有奇数行交替为3,1,3,偶数行交替为1,2,1,2。我尝试使用随机数生成器,for循环,并考虑使用find命令。我正在尝试生成矩阵,但我收到了错误消息。

3 个答案:

答案 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;