What is the modification needed in the below code
Mostra commenti meno recenti
Are the below code same? I am getting different results.
%First
scale0 = 1500;
Nai = linspace(1e13,1e19,scale0); %𝑁𝑎:1×1013−1×1019𝑐m−3
Ndi = linspace(1e13,1e19,scale0); %𝑁𝑑:1×1013−1×1019𝑐m−3
Na = ones(scale0,1)*Nai;
Nd = Ndi.'*ones(1,scale0);
y = 0;
z = 0;
%Computing Fermi Energy Level
Ef = ones(scale0,1)*0;
while y < 1500
y = y + 1;
while z < 1500
z = z + 1;
eq1 = @(Ef) ((Nc)*exp(-(Ec-Ef)/(kbT))) + ((Na(y,z))/(1 + 4*exp(-(Ef-Ea)/(kbT)))) - ((Nv)*exp(-(Ef-Ev)/(kbT)) + ((Nd(y,z))/(1 + 2*exp(-(Ed-Ef)/(kbT)))));
x1 = [0 10];
Ef(y,z) = fzero(eq1,x1);
end
end
%Second
scale0 = 1500;
Nai = linspace(1e13,1e19,scale0); %𝑁𝑎:1×1013−1×1019𝑐m−3
Ndi = linspace(1e13,1e19,scale0); %𝑁𝑑:1×1013−1×1019𝑐m−3
Na = ones(scale0,1)*Nai;
Nd = Ndi.'*ones(1,scale0);
%Computing Fermi Energy Level
Ef = ones(scale0,1)*0;
for y=1:prod(size(Nai))
for z=1:prod(size(Ndi))
eq1 = @(Ef) ((Nc)*exp(-(Ec-Ef)/(kbT))) + ((Na(y,z))/(1 + 4*exp(-(Ef-Ea)/(kbT)))) - ((Nv)*exp(-(Ef-Ev)/(kbT)) + ((Nd(y,z))/(1 + 2*exp(-(Ed-Ef)/(kbT)))));
x1 = [0 10];
Ef(y,z) = fzero(eq1,x1);
end
end
1 Commento
Rena Berman
il 8 Apr 2022
(Answers Dev) Restored edit
Risposta accettata
Più risposte (0)
Categorie
Scopri di più su MATLAB in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!