Please help me with this program as I am not getting the smooth curve??

1 view (last 30 days)
clear all;
W=360*10^-9;
Vth=1;
lambda=25*10^-5;
un=100;
Cox=1*10^-6;
Leff=180*10^-9;
ld=0.1;
vds=0:0.5:10;
Ec=1;
vgs=input('ENTER THE Vgs in volts');
m=length(vds)
for i=1:m
if vgs < Vth
current(1,i)=0;
elseif vds(i) >= (vgs - Vth)
current(1,i)=(2*W*un*Cox/Leff-ld+(vds(i)/Ec)) +(lambda*2*W*Cox/(Leff-ld)^2)*((vgs-Vth)*vds(i)-0.5*vds(i)^2);
end
end
plot(vds,current(1,:),'b')
xlabel('Vds, V')
ylabel('Drain Current,A')
title('I-V Characteristics of a MOSFET')

Answers (1)

Matt J
Matt J on 3 Jan 2014
Edited: Matt J on 3 Jan 2014
Sample the curve at more points.
  3 Comments
Matt J
Matt J on 3 Jan 2014
your vds(i) are separated by 0.5. They need to be separated by less.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!