0

非常简单的问题,我在网上找不到,所以我想我会在这里问:

您可以像这样制作一维线性阵列:

1:10 = 1 2 3 4 5 6 7 8 9 10
1:2:10 = 1 3 5 7 9

如何轻松初始化二维数组,即。

1 2 3 4
1 2 3 4
1 2 3 4
1 2 3 4

也是同样的事情,但对于列:

1 1 1 1
2 2 2 2
3 3 3 3
4 4 4 4

应该是在一行中执行此操作的命令。

4

2 回答 2

2
v = 1:5;
A = repmat(v, 4, 1);
B = repmat(v', 1, 4);

A并且B会拥有你需要的东西。

另一种选择是使用 MATLAB 索引,如下所示:

v = 1:5;
A = v(ones(4, 1), :);
v = [1:5]';
B = v(:, ones(1, 4));
于 2012-07-31T05:43:22.570 回答
2

或者,我了解到您可以使用网格网格:

meshgrid(1:4, 1:4) =>

 1     2     3     4
 1     2     3     4
 1     2     3     4
 1     2     3     4

感谢您的帮助和支持。

于 2012-07-31T05:50:09.593 回答