Asked by physics learner
on 11 Apr 2019

Vc = 0.5;

c = 3e8;

m0 = 0.511e6/c^2;

me1 = 0.067*m0;

me2=0.039*m0;

hr = 6.58e-16;

k= sqrt(2*me1*Ee/hr^2);

K= sqrt(2*me2*(Vc-Ee)/hr^2);

R=2e-9;

equation K*cot(K*R)= -k

how to find the root of this eqution

Answer by David Goodmanson
on 12 Apr 2019

Edited by David Goodmanson
on 12 Apr 2019

Accepted Answer

Hi pl,

The boundary condition K*cot((KR) = -k (denoted by bc1 below) is for a wave function that is proportional to sin(KR) in the potential well, giving the odd parity states. However, it appears that your potential well is not deep enough to support any of those states. Plot 1 does not show a crossing for the would-be first excited state.

The even parity states are proportional to cos(KR) in the well; that boundary condition is denoted by bc0 below. Plot 2 shows a crossing and there is a solution for the ground state.

Vc = .5;

Ee = 0:.01:Vc-.01;

c = 3e8;

m0 = 0.511e6/c^2;

me1 = 0.067*m0;

me2=0.039*m0;

hr = 6.58e-16;

R=2e-9;

k= sqrt(2*me1*Ee/hr^2);

K= sqrt(2*me2*(Vc-Ee)/hr^2);

bc1 = K.*cot(K*R); % = -k; first excited state and odd parity states

bc0 = -K.*tan(K*R); % = -k; ground state and even parity states

figure(1)

plot(Ee,bc1,Ee,-k); grid on

figure(2)

plot(Ee,bc0,Ee,-k); grid on

% solution

ks = @(Ee) sqrt(2*me1*Ee/hr^2);

Ks = @(Ee) sqrt(2*me2*(Vc-Ee)/hr^2);

fun = @(Ee) -Ks(Ee).*tan(Ks(Ee)*R) + ks(Ee);

Ee_groundstate = fzero(@(Ee) fun(Ee),[0 .5])

Sign in to comment.

Answer by David Wilson
on 11 Apr 2019

Well you have given us quite a puzzler; little background info and no context.

I'm assuming you are looking for the value Ee since you didn't give us a value for it. But are you sure your equation is correct? I couldn't find a (real) solution, only complex, so I guessed you made a sign error.

If the equation really is K*cot(K*R)= +k (note sign change), then we have a solution as shown below.

Vc = 0.5;

c = 3e8;

m0 = 0.511e6/c^2; me1 = 0.067*m0; me2=0.039*m0;

hr = 6.58e-16;

R=2e-9;

k= @(Ee) sqrt(2*me1*Ee/hr^2);

K= @(Ee) sqrt(2*me2*(Vc-Ee)/hr^2);

f = @(Ee) K(Ee).*cot(K(Ee)*R)-k(Ee); % should equal zero

Ee0 = 0.01; % who knows ??

Ee = fzero(@(Ee) f(Ee), Ee0)

Ee = linspace(0,0.02)';

plot(Ee, f(Ee)); yline(0);

physics learner
on 12 Apr 2019

your code is wrong for each value of R yield same result

Torsten
on 12 Apr 2019

Not true:

function main

Vc = 0.5;

c = 3e8;

m0 = 0.511e6/c^2; me1 = 0.067*m0; me2=0.039*m0;

hr = 6.58e-16;

k= @(Ee) sqrt(2*me1*Ee/hr^2);

K= @(Ee) sqrt(2*me2*(Vc-Ee)/hr^2);

f = @(Ee,R) K(Ee).*cot(K(Ee)*R)-k(Ee);

Ee0 = 0.01;

for i=1:180

R(i) = 2e-9 - i*1e-11;

Ee(i) = fzero(@(Ee) f(Ee,R(i)), Ee0)

Ee0 = Ee(i);

end

plot(R,Ee)

end

Sign in to comment.

Opportunities for recent engineering grads.

Apply Today
## 4 Comments

## Walter Roberson (view profile)

## Direct link to this comment

https://de.mathworks.com/matlabcentral/answers/455667-to-find-the-root-of-quantum-transcendental-equation#comment_692526

## physics learner (view profile)

## Direct link to this comment

https://de.mathworks.com/matlabcentral/answers/455667-to-find-the-root-of-quantum-transcendental-equation#comment_692532

## David Goodmanson (view profile)

## Direct link to this comment

https://de.mathworks.com/matlabcentral/answers/455667-to-find-the-root-of-quantum-transcendental-equation#comment_692562

## Walter Roberson (view profile)

## Direct link to this comment

https://de.mathworks.com/matlabcentral/answers/455667-to-find-the-root-of-quantum-transcendental-equation#comment_692569

Sign in to comment.