The function isreal not working?

6 次查看(过去 30 天)
Giuseppe
Giuseppe 2014-5-21
评论: Giuseppe 2014-5-27
function [calc_valid, EM] = input_check(N,t,S,EV)
inputs = [N,t,S,EV]; %The inputs are placed in a vector.
calc_valid = 0;
if isreal(inputs)==0 || isa(inputs,'numeric')==0 %This checks if other than real numbers and numbers are inputted.
EM = 'ERROR: The inputs are not real numbers.';
elseif N~=0 && N<1 || N>8000 %This checks if N is not within the range 1:8000 or not = 0.
EM = 'ERROR: N is not within the range 1:8000';
elseif t~=0 && t<(1/8000) || t>2 %This checks if t is not within the range 1/8000:2 or not = 0.
EM = 'ERROR: t is not within the range 1/8000:2';
elseif S~=0 && S<25 || S>51200 %This checks if S is not within the range 25:51200 or not = 0.
EM = 'ERROR: S is not within the range 25:51200';
elseif EV<-6 || EV>23 %This checks if EV is not within the range -6:23.
EM = 'ERROR: EV is not within the range -6:23';
elseif N==0 && t==0 || N==0 && S==0 || t==0 && S==0
EM = 'ERROR: Only EV and one other variable are permitted to be zero';
else
EM = '';
calc_valid = 1;
end
end
For some reason all the other checks work except isreal ?
  4 个评论
Roger Wohlwend
Roger Wohlwend 2014-5-22
There's nothing wrong with the isreal command. Are you sure that it is not working properly? Can you give as example (e.g. values for the input variables) where the command fails?

请先登录,再进行评论。

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

产品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by