MATLAB Answers

0

if condition for infinity

Asked by SITI AISHAH on 19 Apr 2019
Latest activity Commented on by madhan ravi
on 20 Apr 2019
Please help me regarding this;
slenderness = input ('what is your l/d?')
if slenderness == 1
Sommerfeld = input ('Please enter your Sommerfeld Number')
interp1 (Somm_Num,Flow_Variable_1,Sommerfeld)
elseif slenderness == 1/2
Sommerfeld = input ('Please enter your Sommerfeld Number')
interp1 (Somm_Num,Flow_Variable_2,Sommerfeld)
elseif slenderness == 1/4
Sommerfeld = input ('Please enter your Sommerfeld Number')
interp1 (Somm_Num,Flow_Variable_3,Sommerfeld)
elseif slenderness == infinity
Sommerfeld = input ('Please enter your Sommerfeld Number')
interp1 (Somm_Num,Flow_Variable_4,Sommerfeld)
end
my slenderness is infinity, but when i enter that,it says 'error using input'

  0 Comments

Sign in to comment.

1 Answer

Answer by John D'Errico
on 19 Apr 2019
Edited by John D'Errico
on 19 Apr 2019

You cannot test for the word 'finite', and expect it to return a valid result, when compared to an inf value.
x = inf
x =
Inf
>> x == 'finite'
ans =
1×6 logical array
0 0 0 0 0 0
>> x == inf
ans =
logical
1
>> isinf(x)
ans =
logical
1
However, you can use the function isinf, which will return true for either -inf or +inf.
Personally, I would STRONGLY suggest that you learn to use and write functions, instead of relying on tools like input in the first place.

  2 Comments

I have test for infinity before, then I try the word'finite' since it says error using input. Instead of the word infinity, what should I write to represent for infinity value ?
SITI AISHAH answer moved here:
It's simple! I have tried replace the word 'infinity' with Inf, and the script is running without any error. yeszza!!!

Sign in to comment.