Matlab:如何根据索引向量将1填充到零向量?
我试图找到一种更优雅的方法,根据四个长度向量的索引(1,3),将一填充到零向量。你怎样才能做得更优雅/简洁 输入 (0,0,0,0)和(1,3) 预期输出 (1,0,1,0) 试用版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
>> 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)。对