我正在编写一个函数,实际上是将它从伪代码形式转换为julia。我一直收到以下投诉:
朱莉娅>包括(" coefficients.jl&#34) 错误:语法:不完整:"功能"在/Users/comerduncan/MarkFiniteDiffDerivativs/coefficients.jl:1需要结束 在boot.jl中包括:244 加载/Users/comerduncan/MarkFiniteDiffDerivativs/coefficients.jl时,从第1行开始的表达式
这是我当前的功能版本:
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 :(得分:2)
除非我遗漏了某些内容,否则您有四个end
个和四个循环:但您也会写if n <= M
,但这并没有结束。
因此,end # nu
实际上并未关闭nu
循环,而是关闭了if
,而且你的{{1}}太少了。