MATLAB: HOW TO SOLVE TRANSCENDENTAL EQUATION

MATLABquantum mechanics

% HOW TO FIND THE VALUE OF Enle FROM GIVEN Transcendental equation
Vc=0.249;
c=3e8;
m0=0.511e6/c^2;
me1=0.067*m0;
me2=0.092*m0;
hr=6.58e-16;
r1=3.0e-9;
d=1.0e-9;
k=sqrt((2*me1*Enle)./(hr^2));
K=sqrt((2*me2*(Vc-Enle))./(hr^2));
Q=(me2/me1);
P=(1-(k*r1)*cot(k*r1));
S=(1+(K*r1)*coth(K*d));
% Transcendental equation Q*P=S

Best Answer

function main
Enle0 = 1.0;
Enle = fzero(@fun,Enle0)
end
function res = fun(Enle)
Vc = 0.249;
c = 3e8;
m0 = 0.511e6/c^2;
me1 = 0.067*m0;
me2 = 0.092*m0;
hr = 6.58e-16;
r1 = 3.0e-9;
d = 1.0e-9;
k = sqrt(2*me1*Enle/hr^2);
K = sqrt(2*me2*(Vc-Enle)/hr^2);
Q = me2/me1;
P = 1-(k*r1)*cot(k*r1);
S = 1+(K*r1)*coth(K*d);
res = Q*P-S;
end