Construct a 5 x 10 array that contains zeros. Assign elements at (row, column) (3,5), (2,4) and (1, 9) values of 44. Display the matrix.
12 views (last 30 days)
Show older comments
I am unable to assign the values to the specific element
4 Comments
Steven Lord
on 16 Sep 2021
Nothing in that problem statement you posted states that you need to assign to those three locations simultaneously.
There are ways to do it (linear indexing is one) but unless something else in the assignment tells you not to I'd assign to those three elements sequentially.
Answers (2)
DGM
on 16 Sep 2021
Edited: DGM
on 16 Sep 2021
Consider an altered example:
In a 3x5 array, assign a fixed value to elements (3,3), (2,5), and (1,1)
sz = [3 5]; % array size
A = zeros(sz);
A(sub2ind(sz,[3 2 1],[3 5 1])) = 37
This uses linear indexing to do the job. In order to calculate the indices, sub2ind() is used to convert the row and column subscripts specified in the two vectors. Linear indices are calculated column-major, so the indices for this example would be [9 14 1].
Alex
on 15 Feb 2024
M = zeros(5, 10)
M(1, :) = 15:-3:0 % Row 1
M(2, :) = 10:7:73 % Row 2
M(3, 7:9) = [3, 2, 1] % Row 3
M(4, :) = 10 % Row 4
M(5, :) = linspace(12, 36, 10) % Row 5
0 Comments
See Also
Categories
Find more on Matrix Indexing in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!