Julia function result changes every shift-enter
我正在尝试在Julia中创建梯形函数数值方法。 我已经编写了代码,但是我需要两次按下shift键才能获得所需的结果。
1 2 3 4 5 6 7 8 9 10 11 12 13 | 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 Notebook中,我猜您正在使用)。 问题是变量
这是正确的代码:
1 2 3 4 5 6 7 8 | 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 |
以及如何使用它:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | julia;gt; f(x)=x^4 f (generic function with 1 method) julia;gt; a=0 0 julia;gt; b=1 1 julia;gt; n=100 100 julia;gt; I(f, a, b, n) 0.20003333300000006 |