using Plots
using LinearAlgebra
set of define
i=sqrt(Complex(-1))
hbar=6.63*10^-34
m=9.11*10^-31
eV=1.6*10^-19
e=2.5
triangular barriar
n=[1:100;]
deltax=5
x=1:1:500
function a1(n)
n*deltax
end
a=Array(a1(n))
function u(x,n)
if n1 in 1:2:100
-x+deltax*(2*n1+1)
else
x-deltax2n1
end
end
y=u(x,n)
plot(x,y)
我想要画出u-x图像,请问各位dalao有什么好招,谢谢!
就是我想要画出func u对x的图像,但是plot命令似乎只能针对u=x+deltax的式子,没有办法针对func语句画图,我想问一问有没有办法针对func语句里的u画图。因为如code所示,n是一个array,图像需要包括一个变化的n。
- Discourse采用的markdown格式,markdown有专门支持显示代码的方法,在你的编辑界面的按钮中可以找到。示例:
# This is how to display code on Discourse:)
function foo()
1 + 1 == 2
end
- 你目前给出的代码不用到画图就报错了,请检查;隐约也能看见全局变量直接闪现在函数里的情况,虽然Julia的确支持,但一方面影响可读性,另一方面影响运行效率。如果是有意为之,可以考虑添加
const
关键词来提高效率。
- 函数
u(x)
和u(x,n)
的区别在于维度,而只不过这里你把第二个输入n
理解成了参数。可以尝试搜索julia parametric plot
试一试有什么启发?
- Julia针对重用数学工具有很多原生支持,比如
i=sqrt(Complex(-1)) == 1.0im
。