now it's working!
thanks Yu! It was the L vector

 
Em sexta-feira, 27 de maio de 2016 22:06:46 UTC-3, Yichao Yu escreveu:
>
> On Fri, May 27, 2016 at 8:56 PM,  <[email protected] <javascript:>> 
> wrote: 
> > Lagrange Poly 
> > 
> > 1 function lg(X,Y,Xint) 
> > 2 
> > 3   n = length(X) 
> > 4   L = ones(1:n) 
>
> You probably want `ones(n)` here. `ones(1:n)` returns an array with 
> the same element type and shape with `1:n` and therefore is a 
> `Vector{Int}`. You cannot assign an arbitrary floating point to a 
> integer vector, which is what causing the `InexactError` you see. 
>
> > 5 
> > 6   for k = collect(1:n) 
>
> Don't do this, `for k = 1:n` is much better 
>
> > 7 
> > 8 
> > 9       for c = collect(1:n) 
>
> Same here 
>
> > 10           if c!=k 
> > 11               L[k] = (L[k]*( Xint - X[c] ))/( X[k] - X[c] ) # problem 
> > 12           end 
> > 13       end 
> > 14    end 
> > 15   return sum(Y.*L) 
> > 16  end 
> > 
> > 
> > =========================== 
> > 
> > x = collect(1:10) 
> > 
> > y = x.^2 - 2.*x + rand() 
> > 
> > 
> > When Executed 
> > 
> > lg(x,y,2.5) 
> > 
> > 
> > LoadError: InexactError() while loading In[76], in expression starting 
> on 
> > line 1 
> > 
> > in lg at In[74]:11? 
>

Reply via email to