Creating a matrix index

5 views (last 30 days)
Edward Johnsen
Edward Johnsen on 3 Sep 2018
I have a 10 by 1 matrix of numbers between 1 and 10, lets call it Z. I want to create a matrix, where say it is 5 by 10, where it takes the number from the first row in Z, say 5, and then creates a row in the new 5 by 10 matrix where the first row would be 0 0 0 0 1 0 0 0 0 0 , basically placing a 1 in the column dictated by the number from the Z matrix, can anyone help me?
Cheers, Edward
  1 Comment
KALYAN ACHARJYA
KALYAN ACHARJYA on 3 Sep 2018
Explain: Consider a Matrix as an example and what result you are expecting?

Sign in to comment.

Answers (1)

Cesar Antonio Lopez Segura
Edited: Cesar Antonio Lopez Segura on 3 Sep 2018
Hi Edward,
Here your question is answered:
Z = [ 5,1,3,6,7,8,9,10,4,6]';
size(Z) % check matrix size
Matrix5by10 = zeros(5,10); % create a zero matrix
% Your question is answered here:
Matrix5by10( 1,Z( 1 ) ) = 1 % write matrix 5 by 10 been Z a colum indicator
If you need a loop, here you can find the solution:
% Iterative example
for i = 1:5; Matrix5by10( i ,Z( i ) ) = 1; end; Matrix5by10

Community Treasure Hunt

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

Start Hunting!

Translated by