让y=[4;6;2;9;5;1]
成为列向量,让i=[4,2,1]
成为索引的向量。我想以某种方式“应用”我y并获得[9,6,4]
。或至少[4;2;0;9;0;0]
。
使用for循环显然有一种方法可以做到这一点。我被这个网站上的某个人建议永远不要在MATLAB中使用for循环。我可以在这里使用一些逻辑运算符吗?理想情况下,可以将y视为其索引的函数,并将y应用于i 作为函数。这是可能的,还是应该使用旧的可靠的for循环?
答案 0 :(得分:1)
简单:
y(i)
返回结果[9 6 4]
。
要将不属于index-list的所有元素设置为零,可以复制指定的元素:
out = zeros(size(y));
out(i) = y(i);