Я хотел бы построить функцию (-ы) с двумя переменными (e_pos и e_neg в коде). Здесь t и a - константы, которым я присвоил значение 1.
Мой код для построения этой функции следующий:
t = 1
a = 1
kx = ky = range(3.14/a, step=0.1, 3.14/a)
# Doing a meshgrid for values of k
KX, KY = kx'.*ones(size(kx)[1]), ky'.*ones(size(ky)[1])
e_pos = +t.*sqrt.((3 .+ (4).*cos.((3)*KX*a/2).*cos.(sqrt(3).*KY.*a/2) .+ (2).*cos.(sqrt(3).*KY.*a)));
e_neg = -t.*sqrt.((3 .+ (4).*cos.((3)*KX*a/2).*cos.(sqrt(3).*KY.*a/2) .+ (2).*cos.(sqrt(3).*KY.*a)));
using Plots
plot(KX,KY,e_pos, st=:surface,cmap="inferno")
Если я использую графики таким образом, иногда я получаю пустую трехмерную плоскость без поверхности. Что я делаю неправильно? Я думаю, что это может быть связано с сетками, которые я сделал для kx и ky, но я не уверен.