Julia函数结果会在每次输入shift时更改
我试图在Julia中创建一个梯形函数数值方法。我已经编写了代码,但我需要按shift enter键两次才能得到所需的结果Julia函数结果会在每次输入shift时更改,julia,integration,Julia,Integration,我试图在Julia中创建一个梯形函数数值方法。我已经编写了代码,但我需要按shift enter键两次才能得到所需的结果 f(x)=(x+(2/x)^2 a=1 b=0 s=0.5*(f(a)+f(b)) n = 1 h=(b-a)/n for i = 1 : n-1 s = s + f(a+(i*h)) end I = h*s 谢谢您的帮助。此代码无效。另外,您应该将逻辑封装在函数中,否则它将无法正常工作(除非您在Jupyter笔记本中,我猜您正在使用它)。问题是变量s在全局范围内,如
f(x)=(x+(2/x)^2
a=1
b=0
s=0.5*(f(a)+f(b))
n = 1
h=(b-a)/n
for i = 1 : n-1
s = s + f(a+(i*h))
end
I = h*s
谢谢您的帮助。此代码无效。另外,您应该将逻辑封装在函数中,否则它将无法正常工作(除非您在Jupyter笔记本中,我猜您正在使用它)。问题是变量
s
在全局范围内,如果您从REPL或作为脚本运行代码,它在循环内将不可见
以下是正确的代码:
function I(f, a, b, n)
s=0.5*(f(a)+f(b))
h=(b-a)/n
for i = 1 : n-1
s = s + f(a+(i*h))
end
h*s
end
以及如何使用它:
julia> f(x)=x^4
f (generic function with 1 method)
julia> a=0
0
julia> b=1
1
julia> n=100
100
julia> I(f, a, b, n)
0.20003333300000006