Skip to content

Instantly share code, notes, and snippets.

@HectorTorres
Last active August 21, 2023 23:16
Show Gist options
  • Save HectorTorres/97edef73517c5b9daf31214dc9e07bf8 to your computer and use it in GitHub Desktop.
Save HectorTorres/97edef73517c5b9daf31214dc9e07bf8 to your computer and use it in GitHub Desktop.
clc
clear all
#Definiendo variables iniciales
E=5;
R=1000;
I0=50e-9;
Vt=26e-3;
Vd=0:1e-3:5; # Vector de parametros independientes, voltaje
Id1=I0*(exp(Vd/Vt)-1); #Ecuacion del dido
Id2=(E-Vd)/R; #Ecuacion del circuito
res=sqrt((Id1-Id2).^2); #Resta de vectores o graficas
[val pos]=min(res) #Buscar el valor mas pequeño de la resta
#el cul hace referencia a el cruce de ambas graficas
Ide=Id1(pos) #Determinar el valor de corriente en el punto de cruce.
Ide=Id2(pos) #Determinar el valor de corriente en el punto de cruce.
Vde=Vd(pos) #Determinar el valor de voltaje en el punto de cruce.
referenciax = [Vde Vde]; #Crear vector con posicion de resultados
referenciay = [0 Ide]; #Crear vector con posicion de resultados
plot(Vd,Id1,Vd,Id2,Vd,res,referenciax,referenciay,"*")
grid on
axis([0 1 0 5e-3])
xlabel("Voltaje")
ylabel("Corriente")
legend("Ecn diodo","Circuito","Resta",["V=" num2str(Vde) " I=" num2str(Ide)])
title("Curva del didoo con recta de carga")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment