【发布时间】:2015-02-20 05:35:14
【问题描述】:
我想访问矩阵的多个索引,如下所示。所以我想要的是将索引 (1,3),(2,6),(3,7) 设置为 1。但是,如您所见,整列设置为 1。我可以看到它在做什么,但是有没有办法做我想做的事情(以一种优雅的方式 - 没有循环)。
a=zeros(3,10)
a(1:3,[3 6 7])=1
a =
0 0 1 0 0 1 1 0 0 0
0 0 1 0 0 1 1 0 0 0
0 0 1 0 0 1 1 0 0 0
我意识到你可以按照
的方式做一些事情x_idx=1:3, y_idx=[3 6 7];
idx=x_idx*size(a,2)+y_idx;
a(idx)=1;
只是想知道在 Matlab 中是否有更好或更合适的方法
【问题讨论】: