How to obtain all the solutions of the equation in pure numerical calculation?

1 visualizzazione (ultimi 30 giorni)
(kz)=det(tuu) is a polynomial of kz generated through the determinant of matrix tuu. Now, I want to get all the solutions of dtuu(kz)==0, and because the power of kz is 10, there will be 10 solutions. vpasolve function can get all the solutions, but it can only deal with symbolic equation. How to obtain all the solutions of dtuu(kz)==0 in pure numerical calculation? Many thanks!
The codes of dtuu(kz) are as following:
function U=dtuu(kz)
x=0.1;
y=0.2;
m = 2;
vh = 4;
mu = 11;
delta = 8;
HBAR = 1.05457266e-34;
ME = 9.1093897e-31;
ELEC = 1.60217733e-19;
Kh = 2.106;
vKh = [0,0,0;Kh,0,0;-Kh,0,0;0,Kh,0;0,-Kh,0];
kc = sqrt(2.*ME.*ELEC/HBAR^2).*1e-10;
ku = kc.*sqrt(mu+delta);
kd = kc.*sqrt(mu-delta);
a3 = [pi/Kh,pi/Kh,sqrt(2).*pi/Kh];
kuu =[-ku.*sin(x).*cos(y), -ku.*sin(x).*sin(y), kz];
n=0:m;
for p=1:5;
for q=1:5;
tuu(p,q)= (sum((kuu + vKh(p,:)).^2)-ku^2).*(p==q)+ kc^2*vh*sum(exp(i.*n.*sum((vKh(q,:)-vKh(p,:)).*a3)))/(m+1).*(p~=q);
end
end
U=det(tuu);
end

Risposte (0)

Categorie

Scopri di più su Numerical Integration and Differential Equations in Help Center e File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by