Buenos días,
Como vimos hoy en clase de consulta, habrán notado que graficar la curva teórica del diodo para tener con qué comparar los resultados no es trivial porque hay dos parámetros del diodo, Is y Vt, que dependen de varios factores.
También hay un offset en la corriente del diodo en directo, que se lo atribuimos a un error en la configuración del osciloscopio, pueden corregirlo simplemente.
Hablamos con Mariana de que pueden realizar un ajuste manual/visual de la curva, buscando un par de parámetros que permitan indicar si los resultados obtenidos tienen el comportamiento esperado.
A los que tengan ganas de ir un poco más allá, les recomiendo usar la función fminsearch de Matlab, que es muy útil. En python parece que está scipy.optimize.fmin, pero no lo usé nunca.
La función fminsearch busca el vector de parámetros que minimiza una función no lineal sin restricciones. Para hallar el vector itera, es necesario proporcionar una semilla. Es muy potente, aunque obviamente tiene limitaciones. Permite anidar funciones, lo que está bueno para tener prolijidad en el comando. La usé para resolver el problema de la curva teórica del diodo de la siguiente forma:
f = @(a)(I_medida - I_teórica(V,a)) % a = [Is,Vt] es desconocido, f es un "function_handle", NO un vector
ferr = @(a) err(f(a)) % Por ejemplo, error cuadrático medio. Acá usar f(a) como variable. Salida escalar!
a0 = [Is0, Vt0]; % semilla, elegir algo razonable
a = fminsearch(ferr,a0) % La salida a será el valor que minimice (localmente) la función de error
% Ahora puedo generar un vector I_teórica porque conozco a = [Is,Vt]
Di sólo una guía sí ustedes intentan implementarlo, si alguien queda con dudas y quiere verlo luego de la entrega es bienvenido. Saber usar esto no es obligatorio para la entrega, ¡pero es una función muy útil!
Saludos,
Florencia