行列A
のサイズは13472x1537です。この行列は1より小さい値を含んでいます。私の場合は、次の条件を満たす解を探します。 列に1より小さい値が含まれている場合は、同じ列の他のすべての値をNaN
に置き換えます。配列要素を検索し、MATLABの列を置き換えます
これらの値(1より小さい)を前の値(または任意の値)と置き換えることのできるコードを実装できました。しかし、後で(または前の)値が1より大きいかどうかに関係なく、列の各値をNaN
に変更するソリューションを探しています。
私はi=1537
です。あなたは値を保持したい場合は
A = randn(5)+2; % Random example
[row,col] = find(A<1);
A(:,col) = NaN;
:ループを取り除く以下
for i = 1:size(A,2)
if ~isempty(find(A(:,i) <= 1))
A(:,i)=nan(size(A,1),1);
end
end
1つの列に複数の値が1より小さい場合の動作は何ですか? –
@DennisKlopfer:問題を指定する必要があります。列に1より小さい値が1つ以上ある場合、列のすべての値はNaNを返す必要があります。 – Joe