Where did you define k? I don't see it in you code snippet. It seems
likely that it isn't an integer, given the error

On Saturday, May 17, 2014, <[email protected]> wrote:

> I'm trying to understand why I'm getting an InexactError() in the
> following bit of code:
>
> NTAB = 8
>
> htab = [3280.84 * x for x in (0.0, 11.0, 20.0, 32.0, 47.0, 51.0, 71.0,
> 84.852)]
>
> ttab = [1.8 * x for x in (288.15, 216.65, 216.65, 228.65, 270.65, 270.65,
>
>                           214.65, 189.946)]
>
> ptab = [2116.21662 * x for x in  (1.0, 2.233611e-1, 5.403295e-2,
> 8.5666784e-3,
>
>                                   1.0945601e-3, 6.6063531e-4, 3.9046834e-5
> , 3.68501e-6)]
>
> gtab = fill(0.0, NTAB)
>
> for i = 1:NTAB-1
>
>     gtab[i] = ((ttab[i+1] - ttab[i]) / (htab[i+1] - htab[i]))
>
> end
>
> gtab[NTAB] = 0.0
>
> function atmosphere(alt::Float64)
>
>     h::Float64 = alt * REARTH / (alt + REARTH)      # convert geometric
> to
>
>                                       # geopotential altitude
>     i = 1
>     j = NTAB
>
>     while true
>         if h < htab[k]
>             j = k
>         else
>             i = k
>         end
>
>         if j <= i+1
>
>             break
>
>         end
>
>     end
>
> end
>
>
>
> At the line where I'm making the comparison with h < htab[k], I get an
> InexactError() when any value is passed into the function, but I'm not sure
> what the reason is as I'm still beginning with Julia.  If anyone would be
> kind enough to point out my mistake, then I would appreciate it.
>
> Thanks!
>

Reply via email to