检查MATLAB数据集的一致性

时间:2012-06-16 14:47:33

标签: matlab validation numbers dataset

对于矩阵,每次我想确保其内容为REAL NUMBERS时,以下命令对我来说都很好,但总是比ZERO和FINITE更大。但是,它不适用于数据集。

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

if (ispositive)

end

有关如何修改它的想法吗?

1 个答案:

答案 0 :(得分: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)) ;