How do I create a matrix based on another matrix?

9 visualizaciones (últimos 30 días)
Nevzat Can Yerlikaya
Nevzat Can Yerlikaya el 19 de En. de 2021
Comentada: Matt J el 19 de En. de 2021
Hi everyone,
I have Number of elements which is a input and have an N matrix which is also input. For example, I have NumElem=4 and corrosponding N matrix as N=[1 0 1 0; 3 0 1 1].
What I am trying to do is create a matrix with NumElem rows and 3 columns. Those 3 colums came from N column numbers 2,3,4. For previous example, the matrix would be E=[0 1 0; 0 0 0; 0 1 1; 0 0 0] it takes each N row's first value and assign it as a row in E column. Later, it assign rest of the each N row values to E row but if there is no value for specific row (for example, there is no 2 value at start of any row in matrix N) the corrosponding row (row 2 in matrix E) has all the zero values.
I know i need to use for function but i cannot figure how to obtain matrix row with all zeros.

Respuesta aceptada

Matt J
Matt J el 19 de En. de 2021
NumElem=4;
N=[1 0 1 0; 3 0 1 1];
E=zeros(NumElem,3);
E(N(:,1),:)=N(:,2:end)
E = 4×3
0 1 0 0 0 0 0 1 1 0 0 0
  2 comentarios
Nevzat Can Yerlikaya
Nevzat Can Yerlikaya el 19 de En. de 2021
Thank you so much! This does exactly what I wanted.
Matt J
Matt J el 19 de En. de 2021
You're welcome, but please Accept-click the answer to certify that.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Matrix Indexing en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by