Matlab:如何根据索引向量将1填充到零向量?

Matlab:如何根据索引向量将1填充到零向量?,matlab,math,vector,Matlab,Math,Vector,我试图找到一种更优雅的方法,根据四个长度向量的索引(1,3),将一填充到零向量。你怎样才能做得更优雅/简洁 输入 (0,0,0,0)和(1,3) 预期输出 (1,0,1,0) 试用版 >> B=[0,1,0,0;0,1,0,1;1,0,0,0;1,1,1,0]; >> find(B(1,:)==0 & B(4,:)==1) ans = 1 3 >> zeros(1,4)+[1,0,1,0] ans = 1

我试图找到一种更优雅的方法,根据四个长度向量的索引(1,3),将一填充到零向量。你怎样才能做得更优雅/简洁

输入

(0,0,0,0)和(1,3)

预期输出

(1,0,1,0)

试用版

>> B=[0,1,0,0;0,1,0,1;1,0,0,0;1,1,1,0];

>> find(B(1,:)==0 & B(4,:)==1)

ans =

     1     3

>> zeros(1,4)+[1,0,1,0]

ans =

     1     0     1     0

基本上
(1,3)-->(1,0,1,0)

如果您的输入是
I
,使得
I=[0,0,0]
并且索引对是
ind=[1,3]
,那么

I(ind)=1;

这是一个非常基本的matlab问题,我认为只要读一下就足够了。

如果您的输入是
I
,这样
I=[0,0,0,0]
并且索引对是
ind=[1,3]
,那么

I(ind)=1;
这是一个非常基本的matlab问题,我认为只要读一下就足够了。

那么(1,4)会变成(1,0,0,1),等等?元组的基于一的索引表示1出现的位置,其他的都是0?@Patashu yes(1,4)应该是(1,0,0,1)。是的,那么(1,4)会变成(1,0,0,1),等等?元组的基于一的索引表示1出现的位置,其他的都是0?@Patashu yes(1,4)应该是(1,0,0,1)。对