0

ウェブ上で簡単に見つけることができなかった非常に単純な質問なので、ここで質問すると思いました:

次のような 1D 線形配列を作成できます。

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

2D配列を簡単に初期化するにはどうすればよいですか。

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

1行でそれを行うコマンドでなければなりません。

4

2 に答える 2

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

AそしてBあなたが必要なものを持っているでしょう。

もう1つのオプションは、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 を使用できることを知りました。

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 に答える