Ejemplo 3. Impedancia RLC serie


Ahora que conocemos algunas diferencias entre funciones y programas es momento de comenzar a hacer cosas más complejas, a manera de ejemplificar los posibles usos que se le puede dar a cada tipo.

En este caso, necesitamos algo que calcule la impedancia en un circuito RLC serie excitado por una fuente de corriente alterna, tal como se muestra a continuación

Dicho circuito puede agruparse y reducirse a un elemento que en teoría de circuitos se conoce como impedancia.

La impedancia Z es un número complejo, que está dada por:
$$Z=R+i\cdot (\omega L -\frac{1}{\omega C})$$
Donde $i$ es la unidad imaginaria.

Como se observa en la fórmula, la impedancia depende de cuatro valores:

  • Resistencia R, que siempre será la parte real del número complejo.
  • Inductancia L.
  • Capacitancia C.
  • Frecuencia angular $\omega$. 
Aunque hay algo que capta la atención y es esta parte: $\frac{1}{\omega C}$
¿Qué pasa si en el circuito no hay capacitor, es decir, C=0?, ¿la impedancia se indetermina?

Aunque parezca raro se quita esa parte de la fórmula para que sólo quede de la siguiente forma:
$$Z=R+i\cdot \omega L$$

Esto será sin duda un problema en lo que programemos.

Imaginemos esta serie de pasos:
  1. Inicio de la función.
  2. Pasar valores R,L,C y $\omega$.
  3. Calcular $Z=R+i\cdot (\omega L -\frac{1}{\omega C})$
  4. Fin de la función.
Todo debería funcionar bien a excepción de lo que mencioné arriba, cuando C=0, esa parte se indetermina, y como expliqué, en ese caso también existe una impedancia.

¿Cómo evitar ese problema? Hay que evitar esa indeterminación (o singularidad😉).
¿Cómo hacerlo? Bueno, en realidad es sencillo, si revistaste la clase 2 en este blog (si no lo has hecho haz clic aquí), existe una estructura de control que seguirá un procedimiento u otro dependiendo si se cumple una condición.

Obviamente la más útil será una de selección, algunos lo conocen como If (aunque esto es de cierta forma incorrecto, pues dependerá del lenguaje).

Veamos otra serie de pasos:
  1. Inicio del programa.
  2. Pedir valor R.
  3. Pedir valor L.
  4. Pedir valor C.
  5. Pedir valor $\omega$.
  6. Verificar valor de C.
    1. Si C=0, entonces $Z=R+i\cdot \omega L$.
    2. Para cualquier otro caso $Z=R+i\cdot (\omega L -\frac{1}{\omega C})$.
  7. Mostrar Z.
  8. Fin del programa.
En estos ya consideramos la posible indeterminación y además la evitamos.

Como habrás observado, la primer serie de pasos (donde no considero la indeterminación) es para una función y la segunda es para un programa. Depende cómo lo quieras realizar tú, pero a continuación doy mis observaciones de por qué lo haré como función:
  • El orden de los valores del argumento será prácticamente el nombre del circuito: RLC$\omega$.
  • Regresará un valor que después puedo usar para hacer operaciones, puesto que si lo hago como programa lo tengo que buscar, seleccionar, copiar y pegar en donde lo necesite.
  • El código es más corto que el de un programa, ya que no se pedirá valor por valor, sólo se pasan como argumento.
Bueno, entonces el diagrama de flujo para la función es el siguiente:

Pasamos a la codificación:

Comenzamos con lo de siempre, Nuevo documento, Agregar editor de programas:

Como nombre: impedancia.
Tipo: Función.
Acceso a librería: LibPub.
NOTA: Debes nombrar tus funciones y programas de forma que al leerlo tengas una idea de qué hace y saber cómo usarla.

Escribimos los argumentos r,l,c,$\omega$:

NOTA: TI-BASIC en la TI Nspire CX permite nombrar variables con ciertos símbolos, en este caso si se puede usar $\omega$. Para insertarlo presiona:
+

Se abre un menú:
Y seleccionas el símbolo, está prácticamente todo el alfabeto griego.

Nos quedamos en esta parte:


Declaramos una variable que almacenará el resultado:

Ahora el bloque If, que comienza de esta forma:


Se puede leer: si c=0, entonces... (en esta parte va lo que hará la función)
NOTA: La unidad imaginaria i se ingresa presionando la tecla . (No es lo mismo que usar la i del teclado normal).

Ahora lo que hará cuando c sea diferente de cero, se utiliza Else:
NOTA: Else va antes de cerrar el bloque If, es decir, antes de EndIf.

Sólo falta regresar el valor:


Ahora sólo hay que probarlo, ya sabes, CTRL + B y luego CTRL + R.

Pasamos los valores del siguiente circuito:
$$\omega=1134.26 \frac{rad}{s}$$
Con eso cumplimos el caso en el que están los tres elementos RLC.

Ahora intentemos con el siguiente, con L=0:
$$\omega=1134.26 \frac{rad}{s}$$

Por último, con C=0:


Si exageramos y probamos un cuarto caso, con R=0:


Todo nos indica que la función está bien y ya puede ser usada.😃
En el siguiente link puedes descargar el archivo de esta función:
https://github.com/ailr16/TINspireCXCAS-Programacion/tree/master/TI%20Basic/cursoDeProgramacion

Deja tus dudas en los comentarios.

Comments

Popular posts from this blog

Programación Calculadora TI Nspire CX CAS en TI-BASIC

Ejemplo 8. Uso de matrices: Serie trigonométrica de Fourier.