hej, chciałbym obliczyć wartości własne takiej macierzy i potem ich wykres, wydaje sie wszystko ok ale coś jest nie tak ? :C
function [y] = energy(kx,ky,kz)
eV = 1.6 * 10^(-19);
m = 9.1 * 10^(-31);
g1 = 6.85;
g2 = 2.1;
g3 = 2.9;
h = (6.62 * 10^(-34))/(2*pi);
P = (h^2*g1*(kx^2+ky^2+kz^2))/(2*m);
Q = (h^2*g2*(kx^2+ky^2-2*kz^2))/(2*m);
M = sqrt(3)*(h^2*g2*(kx^2-ky^2))/(m)-(1i*sqrt(3)*h^2*g3*(kx*ky))/(m);
L = (-1i*sqrt(3)*h^2*g3*(kx-1i*ky)*kz)/(m);
Ls = ctranspose(L);
Ms = ctranspose(M);
H = [P+Q L M 0;
Ls P-Q 0 M;
Ms 0 P-Q -L
0 Ms -Ls P+Q].*(-1);
y = eig(H);
end
Error using ^
Inputs must be a scalar and a square matrix.
To compute elementwise POWER, use POWER (.^) instead.
Error in energy (line 8)
P = (h^2*g1*(kx^2+ky^2+kz^2))/(2*m);