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.

 採用された回答

James Tursa
James Tursa 2015 年 5 月 3 日

0 投票

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

3 件のコメント

Alice Stembridge
Alice Stembridge 2015 年 5 月 4 日
Hi James, thank you for that. Would I do the same to populate a 3 x 3 x 3 matrix?
James Tursa
James Tursa 2015 年 5 月 4 日
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.
Alice Stembridge
Alice Stembridge 2015 年 5 月 14 日
Hi James, Sorry I did not see that you had commented again. I think I have figured it out now. Thank you though.

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

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File Exchange で Creating and Concatenating Matrices についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by