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.

28 次查看(过去 30 天)
I am unable to assign the values to the specific element
  4 个评论
Steven Lord
Steven Lord 2021-9-16
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.

请先登录,再进行评论。

回答(2 个)

DGM
DGM 2021-9-16
编辑:DGM 2021-9-16
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
A = 3×5
37 0 0 0 0 0 0 0 0 37 0 0 37 0 0
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
Alex 2024-2-15
M = zeros(5, 10)
M = 5x10
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
M(1, :) = 15:-3:0 % Row 1
Unable to perform assignment because the size of the left side is 1-by-10 and the size of the right side is 1-by-6.
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

类别

Help CenterFile Exchange 中查找有关 Matrix Indexing 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by