a simple vector to a matrix

1 Ansicht (letzte 30 Tage)
MA
MA am 6 Okt. 2021
Beantwortet: Steven Lord am 6 Okt. 2021
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.

Antworten (2)

Steven Lord
Steven Lord am 6 Okt. 2021
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 am 6 Okt. 2021
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

Kategorien

Mehr zu Data Type Conversion finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by