Indexing and replacing value in a zero matrix based on a table
3 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Sunny
am 19 Dez. 2018
Beantwortet: Walter Roberson
am 19 Dez. 2018
Hello,
I am trying to input a value in a zeros matrix of size 11*10. This is based on a variable which has three columns (Number, ID, ANS) as shown below. Now I want to insert the value in ANS which is -1 in the zeros matrix at 10x5 (ID x Number) position (index). Any suggestion on how this can be done?
Number ID ANS
5 10 -1
0 Kommentare
Akzeptierte Antwort
Walter Roberson
am 19 Dez. 2018
If your Number and ID and ANS are scalar then
YourMatrix(Number, ID) = ANS;
If they are vectors then there are multiple approaches, including:
YourMatrix( sub2ind(size(YourMatrix), Number(:), ID(:)) ) = ANS(:);
Or
YourMatrix = YourMatrix + accumarray( Number(:), ID(:), ANS(:), size(YourMatrix) );
and there are approaches using sparse.
0 Kommentare
Weitere Antworten (1)
Arvind Sathyanarayanan
am 19 Dez. 2018
Is this what you're looking for?
ID = 10; Number = 5; Ans = -1;
tmat = zeros(11,10);
tmat(ID,Number)=Ans;
0 Kommentare
Siehe auch
Kategorien
Mehr zu Matrix Indexing 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!