对于矩阵,每次我想确保其内容为REAL NUMBERS时,以下命令对我来说都很好,但总是比ZERO和FINITE更大。但是,它不适用于数据集。
ispositive = ( ~isnumeric(batch_data) ...
| ~all(isfinite(batch_data(:))) ...
| ~isreal(batch_data) ...
| ~(any(batch_data(:) <= 0)) );
if (ispositive)
end
有关如何修改它的想法吗?
答案 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)) ;