我有一个矩阵如下
a =
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
我需要修改以下位置的值 (1,2),(1,5),(2,5),(5,3)为5.我的行指数为 c =
1
1
2
5
和列索引为
d =
2
5
5
3
我尝试使用以下命令修改值
A(c,d) = 5;
但它没有给出正确的结果,它修改了矢量组合的索引。 a =
0 5 5 0 5
0 5 5 0 5
0 0 0 0 0
0 0 0 0 0
0 5 5 0 5
但我需要
a =
5 0 0 0 5
0 0 0 0 5
0 0 0 0 0
0 0 0 0 0
0 0 5 0 0
任何人都可以帮忙获得这个结果吗?提前致谢 马努
答案 0 :(得分:2)
如评论中所述,一种解决方案可以使用sub2ind
:
ind = sub2ind(size(a),c,d);
a(ind) = 5;
答案 1 :(得分:1)
a = zeros(5) ;
r = [ 1
1
2
5];
c = [
2
5
5
3] ;
idx = sub2ind(size(a),r,c) ;
a(idx) = 5 ;