求助!怎样可以使用func语句 画图?

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有什么好招,谢谢!

请先查阅如何排版,再展示一下你具体遇到了哪些问题,卡在了哪里。

How to Ask for Programming Help | Coding Killed the Cat (wordpress.com)

就是我想要画出func u对x的图像,但是plot命令似乎只能针对u=x+deltax的式子,没有办法针对func语句画图,我想问一问有没有办法针对func语句里的u画图。因为如code所示,n是一个array,图像需要包括一个变化的n。

  1. Discourse采用的markdown格式,markdown有专门支持显示代码的方法,在你的编辑界面的按钮中可以找到。示例:
# This is how to display code on Discourse:)
function foo()
   1 + 1 == 2
end
  1. 你目前给出的代码不用到画图就报错了,请检查;隐约也能看见全局变量直接闪现在函数里的情况,虽然Julia的确支持,但一方面影响可读性,另一方面影响运行效率。如果是有意为之,可以考虑添加const关键词来提高效率。
  2. 函数u(x)u(x,n)的区别在于维度,而只不过这里你把第二个输入n理解成了参数。可以尝试搜索julia parametric plot试一试有什么启发?
  3. Julia针对重用数学工具有很多原生支持,比如i=sqrt(Complex(-1)) == 1.0im

好的,十分感谢你的建议