Populating a matrix with predetermined values

I have a N x N matrix which I have defined as X, I have another matrix that contains values I would like to populate my matrix X with.
For example, if X is a 3 x 3 matrix and A is the matrix below:
A =
3 15
4 16
5 17
6 18
7 19
How do I populate the matrix X with the values in the second column of A where the first column is the position in the matrix X. i.e I would like the final matrix X to be
X = 0 0 15
16 17 18
19 0 0
Thank you.

 Réponse acceptée

X = zeros(N,N);
X(A(:,1)) = A(:,2);
X = X';

3 commentaires

Hi James, thank you for that. Would I do the same to populate a 3 x 3 x 3 matrix?
James Tursa
James Tursa le 4 Mai 2015
The example you gave works with linear indexing into a 2D matrix. For a 3D array you will have to give a short example of where the elements would go before we can answer how to do it and whether linear indexing will work.
Hi James, Sorry I did not see that you had commented again. I think I have figured it out now. Thank you though.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

Community Treasure Hunt

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

Start Hunting!

Translated by