What is the meaning of the error " Inner matrix dimensions must agree".

2 views (last 30 days)
here am attaching the program
if true
K=1.38*10^-23;
T=300;
q=1.6*10^-19;
Vt=K*T/q
Nde=2.7*10^19;
Vgs=2;
x=4.6;
Nsdx=Nsdp*exp((-x^2)/(2*lateralstraggle^2))
Nsdp=1*10^20;
eg=1.11;
Eg=1.17;
ni=8.3e9;
lateralstraggle=2;
Lg=70*10^-9;
epsilonox=4;
tsi=2*10^-9;
tox=1.2*10^-9;
epsilon=4;
epsilonsi=2;
Vds=0.1:10;
lambda=((epsilon*tsi*tox)/(2*epsilonox))^1/2
PI=(Vgs-Vfb)-lambda^2*q*(Na-Nsdx)/epsilonsi;
nieff=(ni^2*exp(eg/K*T))^1/2
Vbi=Vt*log(Nde*Na/nieff^2)
fi=Vt*log(Na/ni)
Vfb=1;
seff=log(Nde/Nsdp)*(-2*(lateralstraggle)^2)
leff=Lg-2*seff;
Deff=seff+leff
c2=((Vbi-PI)*(1-(exp(-Deff/lambda))/(exp(-seff/lambda))+Vds))/(exp(Deff/lambda))-(exp(seff/lambda))/(exp(-seff/lambda))*(exp(-Deff/lambda))
%c2=((Vbi-PI)*(1-(exp(-Deff/lambda))/(exp(-seff/lambda))+Vds)/exp(Deff/lambda)-(exp(seff/lambda)/(exp(-seff/lambda)))*exp(Deff/lambda))
c1=(Vbi-c2*exp(seff/lambda)-PI/(exp(-seff/lambda)))
sif=c1*exp(-x/lambda)+c2*exp(x/lambda)+PI;
Na=(ni^2/Na)*exp(sif/Vt);
Vth=Vfb+2*fi-c1*exp(-xmin/lambda)-c2*exp(xmin/lambda)+(lambda^2*q*(Na-Nsdxmin)/epsilonsi);
plot(lateralstraggle,Vth)
ylabel('Vth, V')
xlabel('lateralstraggle,nm')
end
  1 Comment
Wayne King
Wayne King on 5 Jan 2014
If you want somebody to help you, you need to define all the variables which you are using.
For example, you cannot possibly really be defining Ndsp in the line after you use it.
Nsdx=Nsdp*exp((-x^2)/(2*lateralstraggle^2))
Nsdp=1*10^20;
Also, how are we supposed to know what Vfb is?

Sign in to comment.

Answers (1)

Wayne King
Wayne King on 5 Jan 2014
That error comes from multiplying matrices which are not conformable,
randn(2,3)*randn(2,3)

Community Treasure Hunt

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

Start Hunting!