我试图创建一个周期函数,但我得到了:
MethodError: no method matching
## Defining the drift function
function drift_a(x)
if 0<=x<2/3
return 2/7-x-2/7*(1-3*x)*sqrt(abs(1-3*x))
end
if 2/3<=x<=1
return -2/7+2/7*x
end
end
function drift_b(x)
return 12*(drift_a(x-floor(x))+0.05)
end
print(drift_b(0.5))
print(drift_b(10.5-floor(10.5)))
print(drift_b(10.5))
我是Julia的新手,所以我不明白为什么它会出错。我尝试创建一个占位符变量y = x-floor(x)
,并在y
上使用该函数,但它给出了相同的错误。
使用mod而不是修复了它
function drift_b(x)
return 12*(drift_a(mod(x,1))+0.05)
end