-1

行列の場合、次のコマンドは、その内容が実数であることを確認したいときはいつでも問題なく機能しますが、常にゼロより大きく、有限です。ただし、データセットでは機能しません。

ispositive =    ( ~isnumeric(batch_data) ...
                | ~all(isfinite(batch_data(:))) ...
                | ~isreal(batch_data) ...
                | ~(any(batch_data(:) <= 0)) );

if (ispositive)

end

それを変更する方法について何かアイデアはありますか?

4

1 に答える 1

1
ispositive =    ( ~isnumeric(batch_data) ...
            | ~all(isfinite(batch_data(:))) ...
            | ~isreal(batch_data) ...
            | ~(any(batch_data(:) <= 0)) );

これはあなたが言うことをしません。

このステートメントによると、次のことが正です。batch_data = Inf batch_data = -Inf batch_data ='ralph' batch_data = 1j; batch_data = -1j;


あなたが書いたものに関連して、これは機能します:

positive =  all(isnumeric(batch_data(:)) ...
              && all(isfinite(batch_data(:))) ...
              && isreal(batch_data) ... % isreal breaks convention of is* functions
              && all(batch_data(:) > 0)) ;
于 2012-06-16T17:12:54.807 に答える