【发布时间】:2014-01-31 16:33:11
【问题描述】:
我正在尝试通过翻译一个解决时间相关薛定谔方程的旧示例代码来学习一些关于使用 Julia 的知识。这是我目前所拥有的:
require("setparams.jl")
require("V.jl")
require("InitialRIM.jl")
#require("expevolve.jl")
function doit()
Nspace, R, Im, x0, width, k0, xmax, xmin, V0, a, dx, dx2, n, dt = setparams()
R, Im = initialRIm(width,n,k0,dt,xmin)
ProbDen = zeros(Nspace)
ProbDen = R.*R + Im.*Im
plot(ProbDen)
#Imold = Im;
t=0.0
#t, R =evolve!(R,Im,t,V0,width,a,dx,dx2,dt,xmin,n)
println("Done")
end
在需要上面的代码之后,我就开始使用 Winston。然后我尝试通过键入 doit() 来运行代码。什么都没有出现。
有人可以告诉我我做错了什么吗?如果需要,我可以提供 setuparame() 以及 initialRIm() 的内部结构,但起初我想我会问我对应该发生的事情的期望是否有问题。请注意,如果我在终端会话中运行 setuparams() 和 initialRIm(),然后执行 plot(ProbDen),则会出现正确的图表。
感谢您的帮助。
更新:
我现在已经重启了 julia,已经用完 Winston,然后又做了 doit() 才知道:
julia> 使用温斯顿
julia> 要求(“driveSch.jl”)
朱莉娅> doit() 错误:dx 未定义 在 /Users/comerduncan/juliaexamples/TDSch/InitialRIM.jl:8 的初始RIm 在 /Users/comerduncan/juliaexamples/TDSch/driveSch.jl:11
但是,对 setparams() 的调用会设置 dx 以及所有其他内容。这是我在交互式运行 setparams() 时看到的。所以我不明白是什么问题......
【问题讨论】:
-
您可能应该在输入任何调用
plot的代码之前执行using Winston。 -
实际上,我刚刚从 Mike Nolta 那里听说,使用 display(plot(ProbDens)) 是一个更好的尝试。事实上,它确实有效,而仅仅使用 plot 却没有。
标签: julia