2014-04-19 3 views
0

실제로 함수 코드를 의사 코드 형식에서 줄리아 코드로 변환하는 함수를 작성했습니다. 나는 다음과 같은 불만 점점 계속 :내 줄리아 기능에 대해 불완전한 것은 무엇입니까?

줄리아> ("coefficients.jl") 오류 포함 : 구문 : 불완전 : /Users/comerduncan/MarkFiniteDiffDerivativs/coefficients.jl:1에서 "기능"에 포함되어있는 최종 이 필요 boot.jl : 244 여기

라인 1 일부터 식, /Users/comerduncan/MarkFiniteDiffDerivativs/coefficients.jl를로드하는 동안 함수의 나의 현재 버전은 다음과 같습니다

function coefficients(order, x_list, x0) 
    M = order 
    N = length(x_list) - 1 
delta = [0 for i=0:N,j=0:N,k=0:M] 
delta[0,0,0]= 1 
c1 = 1 
for n =1:N+1 
    c2 = 1 
     for nu =0:n 
      c3 = x_list[n]-x_list[nu] 
      c2 = c2 * c3 
      if n <= M 
     delta[n,n-1,nu]=0 
      for k=0:min(n,M)+1 
       delta[k,n,nu] = (x_list[n]-x0)*delta[k,n-1,nu] -\ 
       k*delta[k-1,n-1,nu] 
       delta[k,n,nu] /= c3 
    end # k 

    end # nu 

     for m=0:min(n,M)+1 
      delta[m,n,n] = c1/c2*(m*delta[m-1,n-1,n-1] \ 
      - (x_list[n-1]-x0)*delta[m,n-1,n-1]) 
    end # m 
     c1 = c2 
end # n 

return delta 

end 
+0

내 기능의 붙여 넣기가 들여 쓰기를 유지하지 않는 것 같습니다. for 루프의 모든 "end"는 루프의 헤드와 같은 들여 쓰기 레벨에 있음에 유의하십시오. 혼란 스럽다면 죄송합니다. – comer

답변

2

것은 내가보고 싶어하지 않는 한 뭔가, 네가 end, 네가 있고 fou r 루프 : 그러나 당신은 또한 if n <= M이라고 쓰고, 그것은 끝나지 않습니다.

따라서 end # nu은 실제로 nu 루프를 닫지 않고 if을 닫고 너무 적습니다.

+0

감사합니다. 내 오류는 줄리아가 여러면에서 파이썬이 아니라는 것을 기억하지 못했습니다. – comer