why matlab unable to solve these equations (program)
조회 수: 1 (최근 30일)
이전 댓글 표시
I wrote a program to solve 3 variables from 3 equations. For that I used syms command. but unfortunately I got the answers are empty. means matlab doesn't solve these 3 equations. I run this program in matlab 2008a. So please help me to solve these equations, or please suggest alternate command to solve this program: here I posted my program, please give a solution for my problem.
Program:
clc
clear all
g=4;
L=0.5*1e-4;
a=0.12*1e-4;
W=200*1e-4;
q=1.6*1e-19;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
NT1=3.8*1e15;
NT2=2*1e13;
NT3=2.6*1e15;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
CCp1=3*1e-14
CCn1=2*1e-14
CCp2=1*1e-15
CCn2=2.4*1e-15
CCp3=1*1e-15
CCn3=5*1e-15
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Eg=3.2*q;
Ef=2.268*q;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Et1=Eg-0.67*q;
Et2=Eg-1.65*q;
Et3=Eg-0.93*q;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Ev=0;
Es=85.845*1e-14;
K=8.62*1e-5;
T=300;
KTev=K*T;
KT=0.0259*q;
m0=9.1*1e-31;
mp=0.77*m0;
Vpth=(3*KT/mp)^0.5;
mn=0.351*m0;
Vnth=(3*KT/mn)^0.5;
mc=0.76*m0;
mv=1.2*m0;
h=6.626*1e-34;
Nc=2*((2*pi*mc*KT/h^2)^1.5)*1e-6;
Nv=2*((2*pi*mv*KT/h^2)^1.5)*1e-6;
Nd=8*1e17;
Nref=2*1e17;
Umin=40;
Umax=950;
r=0.76;
vsat=2.07*1e7;
y=(Eg/(2*KT));
ni=((Nc*Nv)^0.5)*exp(-y);
Vbi=1.3-((KT/q)*log(Nc/Nd))
U0= Umin + ((Umax - Umin)/(1+ ((Nd/Nref)^r)));
d1=0.98
Ec=(vsat/U0)*(d1/(1-d1));
Nsam=3*1e15;
Nsdp=5*1e15;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Ep1=CCp1*Vpth*Nv*exp(-((Et1-Ev)/KT))
En1=CCn1*Vnth*Nc*exp(-((Eg-Et1)/KT))
Ep2=CCp2*Vpth*Nv*exp(-((Et2-Ev)/KT))
En2=CCn2*Vnth*Nc*exp(-((Eg-Et2)/KT))
Ep3=CCp3*Vpth*Nv*exp(-((Et3-Ev)/KT))
En3=CCn3*Vnth*Nc*exp(-((Eg-Et3)/KT))
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
NT1mnoneql=NT1*(Ep1/(Ep1+En1))
NT1meql=NT1/(1+((1/g)*exp((Et1-Ef)/KT)))
NT2mnoneql=NT2*(En2/(En2+Ep2))
NT2meql=NT2/(1+((1/g)*exp((Et2-Ef)/KT)))
NT3mnoneql=NT3*(En3/(Ep3+En3))
NT3meql=NT3/(1+((1/g)*exp((Et3-Ef)/KT)))
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
N1subm=NT1mnoneql-NT1meql;
N2subm=NT2mnoneql-NT2meql;
N3subm=NT3mnoneql-NT3meql;
Nsubm=(N1subm+N2subm+N3subm)
Ubi=(KT/q)* log((Nd/Nsubm))
Ndepp=Nd-Nsam+Nsdp+(NT1*(En1/(Ep1+En1)))+(NT2*(En2/(Ep2+En2)))+(NT1*(En3/(Ep3+En3)))
k11=((Nsubm/(Nsubm+Ndepp)))^0.5
Vp=(q*Ndepp*a^2)/(2*Es)
k1=q*(Nd-Nsubm)*vsat*W*a*d1;
Z=(q*Ndepp*a^2*U0)/(2*Es*L*vsat);
VG=-2;
Rs=47.03;
VD=0:1:10;
for i=1:11
syms VDsat ID L1
Rd2(i)=50;
hL1=((Vbi-VG+VDsat-ID*Rd2(i))/Vp)^0.5;
Y1=q*W*U0*vsat*(Nd-Nsubm)/(vsat*L1+U0*(VDsat-ID*(Rd2(i)+Rs)));
hs=((Vbi-VG+ID*Rs)/Vp)^0.5
h1L1=((Ubi+VDsat-ID*Rd2(i))/Vp)^0.5
h1s=((Ubi+ID*Rs)/Vp)^0.5;
eq1=VD(i)-VDsat-2*hL1*Ec*a/pi*sinh(pi*(L-L1)/(2*hL1*a));
eq2=ID-Y1*a*Vp*(((VDsat-ID*Rd2(i)-ID*Rs)/Vp)-2/3*(hL1^3-hs^3)-2/3*k11*(h1L1^3-h1s^3));
eq3=ID-q*(Nd-Nsubm)*W*d1*vsat*a*(1-hL1-k11*h1L1);
[ID, L1, VDsat]=solve(eq1, eq2, eq3,ID, L1, VDsat)
end
댓글 수: 0
답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Special Values에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!