Problems with graph in MATLAB

6 views (last 30 days)
YURIM LEE
YURIM LEE on 2 Feb 2021
Answered: Walter Roberson on 3 Feb 2021
Hi. I have a problem with graph. I'm asking you a question because it's difficult to figure out what the problem is by myself.
I can't plot. What's the problem?
  4 Comments
YURIM LEE
YURIM LEE on 3 Feb 2021
%% Parameters
DELTA = 4.5; % Transition width parameter
E0 = 5.27e-7; % Bulit-in electric field
Eg = 0.354; % Semiconductor band gap
% Saturation voltage parameter
LAMBDA = 0.18;
GAMMA = 0.6;
MR = 0.012; % Reduced effective mass
N1 = 1.8; % Sub-threshold ideality factor
N2 = 1.1; % Tunnel junction ideality factor
R0 = 0.45; % Tunneling window parameter
R1 = 0.001; % Electric field parameter
R2 = 1.3; % Electric field parameter
TCH = 4.5E-9; % Channel thickness
VTH = 0.17; % Threshold voltage
h = 6.626E-23; % Planks constant
q = 1.602E-19; % Elementary charge
T = 300; % Temperature
L = 20e-9; % Channel length
W = 1e-6; % Channel width
Vdsmin = 1e-15;
Kb = 1.381e-23;
Vds = 0.4;
Vmin = 0.0001;
Vt = Kb*300/q;
U0 = N1*Vt;
Vgs = -5:0.01:5;
%constant
a = W*TCH*q^3/(8*(pi*h)^2)*sqrt(2*MR/Eg);
b = 4*sqrt(2*MR)/(3*q*h)*Eg^(3/2);
Vdse = Vdsmin*(Vds/(2*Vdsmin) + sqrt(DELTA^2 + (Vds/(2*Vdsmin)-1)^2)); %Drain to source voltage
Vthds = LAMBDA*tanh(Vgs); %Drain threshold voltage
Vgoe = Vmin*(1+Vgs/(2*Vmin)+sqrt(DELTA^2 + (Vgs/(2*Vmin) -1).^2)); %Gate biased voltage
Vgt = Vgs-VTH; %Gate terminal potential
Vgoen = Vgoe/VTH;
U = R0*U0 + (1-R0)*U0*Vgoen; %Urbach factor
f = (1-exp(-Vdse/GAMMA))./(1+exp((Vthds-Vdse)/GAMMA)); %Superliner current onset factor
E = E0*(1+R1*Vds + R2*Vgoe); %Electric field
Vtw = log(1+exp(Vgt/U)); %Tunneling potential
Id = a.*f.*E.*Vtw.*exp(-b./E); %Drain current
plot(Vgs,Id);
YURIM LEE
YURIM LEE on 3 Feb 2021
Thank you for your anwser. Here's the code. Can you tell me what the problem is?

Sign in to comment.

Answers (1)

Walter Roberson
Walter Roberson on 3 Feb 2021
h = 6.626E-23; % Planks constant
q = 1.602E-19; % Elementary charge
b = 4*sqrt(2*MR)/(3*q*h)*Eg^(3/2);
With h being on the order of 1E-23 and q being on the order of 1e-19 then q*h is going to be on the order of 1e-39. You divide by (q*h) so your b is going to be on the order of 1e+39 -ish .
Id = a.*f.*E.*Vtw.*exp(-b./E); %Drain current
-b./E comes out on the order of -1e+45 . exp() of that is going to underflow to 0, even if you were to use software floating point -- you are dealing with values on the magnitude of

Tags

Products


Release

R2020b

Community Treasure Hunt

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

Start Hunting!