0

プロジェクトの場合、ベクトル内の一連のものの最初の 1 つを見つけようとしています。たとえば、私は入力として持っています:

x1=[1 0 0 1 1 1 0 1 0 1 0 0 1 1]

そして私は出力として必要です:

Y1=[1 0 0 1 0 0 0 1 0 1 0 0 1 0]

そのため、ベクトルに 1 があるたびに、結果として生じるものはすべてゼロに変換する必要があります。

次のコードがありますが、何らかの理由で x1 とまったく同じ値の Y1 が返されます。

n=numel(x1);
Y1=zeros(n,1);
for i = 1:n
if x1(i) == 1
    Y1(i)= 1;
    for j = (i+1): n 
        if x1(j)== 1
            Y1(j)=0;
        elseif x1(j) == 0
            Y1(j)=0;
            i=j+1;
            break
        end
    end
elseif x1(i) == 0
    Y1(i)= 0;
end

end

どんな助けでも大歓迎です。

4

2 に答える 2