欧拉法运行出来的结果误差太大,怎么解决?
一般问题
发布于 2024-12-19 20:12:19
查看 28过去556天
function f(t,y)
return t-(y^2)+1
end
function g(t)
return (t+1)^2-0.5(exp(t))
end
function oulafa(y0,f,d,h)
n=Int(d/h)
w=zeros(n+1)
t=zeros(n+1)
w[1]=y0
t[1]=0
for i=2:(n+1)
t[i]=t[i-1]+h
w[i]=w[i-1]+h*f(t[i-1],w[i-1])
end
return w[end]
end
y0=0.5
d=2
h=0.2
result1=oulafa(y0,f,d,h)
result2=g(2)
println("欧拉法结果为 ",result)
println("通解初值结果为 ",result2)
以上是利用欧拉法(不是修正欧拉法)的代码,运行结果如下:欧拉法结果为 1.6359576152999367
通解初值结果为 5.305471950534675 两者误差太大了,如何修改?
所属专栏:Julia语言
产品信息:Syslab科学计算环境
