forループを使ってインデックスDを計算するプログラムを作ろうとしましたが、インデックスの長さが同じではないため問題があります。forループを使用してインデックスのセットを決定する方法は?
例:
z = [0 0 0 0 0 0 1]
v(1,:) = [1 0 0 0 1 0 1]
v(2,:) = [0 1 0 0 1 1 1]
v(3,:) = [0 0 1 0 1 1 0]
v(4,:) = [0 0 0 1 0 1 1]
v(1,:) = find(v(1,:)~=z);
v(2,:) = find(v(2,:)~=z);
v(3,:) = find(v(3,:)~=z);
v(4,:) = find(v(4,:)~=z);
we obtain :
D(1,:) = [1 5];
D(2,:) = [2 5 6];
D(3,:) = [3 5 6 7];
D(4,:) = [4 6];
コード:
for aa = 1:4
D(aa,:) = [find(v(aa,:)~=z)];
end
動作しない私は、インデックスDのセットを決定するためにループを使用することができますどのようにlength(D(1,:))~=length(D(2,:))~=length(D(3,:))
ため?
ありがとうございました!
ありがとう、それは動作します。しかし、私は最小を計算するためにDを使用しなければなりません、セルの使用以外の私を提案する別のソリューションをお持ちですか? – m2016b
私の喜び。あなたは 'cell'のような行列を反復処理することができます。また、別の質問で「セル」についての質問を詳細に行うことができます。 – OmG