Sub values into multiple rows and columns simutaneously
显示 更早的评论
I have a 10x10 matrix. I want to sub a few values into the matrix simultaneously, with the other values being zero. It would be time-consuming to sub the values one by one. Is there any way to do this?
For example, A=[zeros(10,10)] A(1,1)=-4 A(2,2)=-4 A(3,3)=-4
Is there a way to sub -4 into these locations at once?
1 个评论
Jan
2018-1-19
Does "to sub" mean "subtract" or "substitute"? According to your code "substitute" is meant.
采纳的回答
更多回答(2 个)
Walter Roberson
2018-1-19
0 个投票
Use sub2ind convert the row column pairs into linear indexing. Then index the left side with the linear indexes.
Jos (10584)
2018-1-19
The words " a few" and " others remaining zero" might indicate that you also could use SPARSE matrices. For instance:
A = sparse([1 2 3],[1 2 3],-4,10,10)
full(A)
类别
在 帮助中心 和 File Exchange 中查找有关 Matrix Indexing 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!