Ciao, come ti avevo detto in precedenza a seguire trovi quanto avevi richiesto:
clear all
clc
clf
Vgback= -40
%L=0.000001
L= 1e-6
%W=0.0000021
W= 2.1e-6
%Ctop=0.000000552
Ctop= 552e-9
%Cback=0.000000012
Cback=12e-9
Rs=800;
u0=700
Vc=0.45
V0gtop=1.45
%Vgtop=1:0.5:4
Vgtop=linspace(2.3,3,20)
V0gback=2.7
V0=V0gtop+(Cback/Ctop)*(V0gback-Vgback)
Rc=L/(W*u0*Ctop*Vc)
gamma=Rs/Rc
Vg0=Vgtop-V0
%Vsd=-24:8:24
%Vsd= linspace(0,0.015,20)
Vsd= linspace(0,0.01,40)
m=length(Vsd)
n=length(Vgtop)
I0= zeros(n,m)
Id= zeros(n,m)
for i=1:n
for j=1:m
if Vgtop(i) < V0
Id(i,j)=0
else
if Vsd(j) < (Vgtop(i) - V0)
I0(i,j)=(Vgtop(i)-(Vsd(j)/2)-V0)*(2*W/L)*u0*Vc*Ctop
Id(i,j)=((Vsd(j)-Vc+I0(i,j)*Rs+sqrt((Vsd(j)-Vc+I0(i,j)*Rs)^2-Vsd(j)*I0(i,j)*4*Rs)))*((1/(4*Rs)))
else
if Vsd(j) >= (Vgtop(i) - V0)
Id(i,j)=((-Vc+(Vgtop(i)-V0)*(1+gamma)+sqrt(Vc^2-(Vgtop(i)-V0)*2*Vc*(1+gamma))))*((gamma/(Rs*(1+gamma)^2)))
end
end
end
end
end
figure(1)
clf
plot(Vsd,Id)
xlabel('Vsd (V)')
ylabel('Id (A)')
title('Caratteristica I-V di un GFET in zona linare')
figure(2)
clf
%plot(Vsd,Id(1,:),'g-',Vsd,Id(2,:), 'g-',Vsd,Id(3,:),'g-')
xlabel('Vsd (V)')
ylabel('Idsat (A)')
title('Caratteristica I-V di un GFET in saturazione')
Allora, i problemi erano i seguenti:
- mancavano 4 end
- uso scorretto delle parentesi
- i valori complessi dipendevano dalla presenza di radicandi negativi nelle espressioni delle
Id. Tali valori dipendono direttamente dalle scelte fatte per quanto concerne
Vgtop e
Vsd. Modificando gli estremi di tali intervalli dovresti risolvere il problema.
- i plot delle varie curve lo ottieni così:
plot(Vsd,Id), mentre il plot che avevi usato "avrebbe stampato" solo le prime 3 curve.
- presenza di un segno
"=" posizionato nel codice in modo; la sua presenza avrebbe significato l'esistenza di al più un valore (per fissato Vgtop) appartenete simultaneamente tanto alla regione di triodo (lineare) quanto a quella di saturazione, il che è un assurdo.
Osservando i
plot delle figure 1 e 2 non capisco dove siano le differenze; credo sia il caso di controllare.
Credo sia tutto, io ho provato e "funziona" (si vedono delle curve). L'interpretazione dei dati spetta a te.
Spero d'esserti stato d'aiuto.
Buona serata.
[/color]