a simple vector to a matrix

1 回表示 (過去 30 日間)
MA
MA 2021 年 10 月 6 日
回答済み: Steven Lord 2021 年 10 月 6 日
Hello everyone,
I am trying to write a code that convert a vector like the following for example:
X=[1 2 3];
to a matrix like the following:
Z=[1 0 0 2 0 0 3 0 0;...
0 1 0 0 2 0 0 3 0;...
0 0 1 0 0 2 0 0 3];
Any ideas?
Thanks very much.

回答 (2 件)

Steven Lord
Steven Lord 2021 年 10 月 6 日
X=[1 2 3];
I = eye(3);
kron(X, I)
ans = 3×9
1 0 0 2 0 0 3 0 0 0 1 0 0 2 0 0 3 0 0 0 1 0 0 2 0 0 3
kron(I, X)
ans = 3×9
1 2 3 0 0 0 0 0 0 0 0 0 1 2 3 0 0 0 0 0 0 0 0 0 1 2 3

David Hill
David Hill 2021 年 10 月 6 日
X-[1 2 3];
Z=zeros(3,3*numel(X));
for k=1:numel(X)
Z(9*k:-4:9*k-8)=X(k);
end
  1 件のコメント
MA
MA 2021 年 10 月 6 日
Thanks

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeData Type Conversion についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by