Problems with graph in MATLAB

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

Vgs and Id have to have the same number of columns, check their sizes. You didn't even share the error, nor the code that we can run, we can't really help you with this.
ld is infinite or nan or complex. We would need to execute the code to figure out which.
Unfortunately, MATLAB has big bugs in the feature to execute pictures of code, so we can't that part.
%% 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);
Thank you for your anwser. Here's the code. Can you tell me what the problem is?

Sign in to comment.

Answers (1)

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

Products

Release

R2020b

Tags

Asked:

on 2 Feb 2021

Answered:

on 3 Feb 2021

Community Treasure Hunt

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

Start Hunting!