Está en la página 1de 9

INFORME DE LABORATORIO #2

CONDICIONALES IF - ELSE

Nathaly Luisana Bustos Morales Cód.: 18242004


Camilo José Gamarra Altahona Cód.: 18241008

Facultad de Ingenierías, Ingeniería Petroquímica, Universidad de Santander, Bucaramanga

Entregado: 11-09-2020

Resumen:

En esta práctica se manejaron nuevas herramientas proporcionadas por el programa MATBAL, en este caso se
manejaron los condicionales if-else que permiten ejecutar una serie de enunciados si una condición es verdadera
y saltar dichos pasos si la condición es falsa. De esta forma se indicó el funcionamiento del Switch indicando el
modo de operarlo de acuerdo de una condición establecida por el operario, además se utilize el Scope para poder
tener una lectura gráfica en tiempo real de la simulación que se está estabeciendo. Finalmente en la práctica
realizada se creó un subsistema.

Abstract:

In this practice, new tools provided by the MATBAL program were handled, in this case the if-else conditionals
were handled that allow executing a series of statements if a condition is true and skipping those steps if the
condition is false. In this way, the operation of the Switch was indicated, indicating the way to operate it
according to a condition established by the operator. In addition, the Scope is used to have a real-time graphic
reading of the simulation that is being carried out. Finally, in the practice carried out, a subsystem was created.

Palabras Clave:

Condicional, simulink, switch, if, Matlab.

1. Introducción funciones se definen en ficheros de texto *.m. Una


diferencia importante con otros lenguajes es que en
MATLAB las funciones pueden tener valores de
MATLAB tiene un gran número de funciones retorno matriciales múltiples. Además, las funciones
incorporadas. Algunas son funciones incorporadas en que no tienen argumentos de entrada no llevan
el propio programa. El código de estas funciones está paréntesis, por lo que a simple vista no siempre son
optimizado, siendo funciones particularmente rápidas fáciles de distinguir de las simples variables. Los
y eficientes. Además, podemos tener funciones nombres de las funciones de MATLAB no son
definidas por el usuario. En MATLAB una función palabras reservadas del lenguaje; es posible crear una
tiene nombre, valor(es) de retorno y argumentos. Una variable llamada con el mismo nombre que una
función se llama utilizando su nombre en una
expresión o utilizándolo como un comando más. Las

1
determinada función, lo que ocultará la función tercera entrada (inferior) según el valor de la segunda
correspondiente. entrada (media). La primera y tercera entradas se
denominan entradas de datos. La segunda entrada se
llama entrada de control.
2. Marco Teórico Usted selecciona las condiciones bajo las cuales se
pasa la primera entrada con los Criterios para pasar
el primer parámetro de entrada. Puede hacer que el
SLIDER GAIN bloque compruebe si la entrada de control es mayor o
igual que el valor de umbral, puramente mayor que el
valor de umbral o distinto de cero. Si la entrada de
control cumple la condición establecida en
los Criterios para pasar el primer parámetro de
entrada, entonces se pasa la primera entrada. De lo
El bloque Slider Gain le permite variar una ganancia contrario, se pasa la tercera entrada.
escalar durante una simulación usando un control Cuando se selecciona la casilla de
deslizante. El bloque acepta una entrada y genera una verificación Mostrar parámetros adicionales,
salida. algunos de los parámetros que se vuelven visibles son
comunes a muchos bloques. Para obtener una
Soporte de tipo de datos descripción detallada de estos parámetros,
El soporte de tipo de datos para el bloque Slider Gain consulte Parámetros de bloque en la documentación
es el mismo que para el bloque Gain. del conjunto de bloques de punto fijo.
CAJA DE DIÁLOGO PARAMETROS DE OPERACIÓN:
Bajo
El límite inferior del rango del control Criterios para pasar la primera entrada
deslizante. El valor predeterminado es 0. Seleccione las condiciones bajo las cuales se
Alto pasa la primera entrada. Puede hacer que el
El límite superior del rango del control bloque compruebe si la entrada de control es
deslizante. El valor predeterminado es 2. mayor o igual que el valor de umbral,
Los campos de edición indican (de izquierda a puramente mayor que el valor de umbral o
derecha) el límite inferior, el valor actual y el límite distinto de cero. Si la entrada de control
superior. Puede cambiar la ganancia de dos maneras: cumple la condición establecida en este
manipulando el control deslizante o ingresando un parámetro, se pasa la primera entrada. De lo
nuevo valor en el campo de valor actual. Puede contrario, se pasa la tercera entrada.
cambiar el rango de valores de ganancia cambiando
los límites superior e inferior. Cierre el cuadro de Límite
diálogo haciendo clic en el botón Cerrar. Asigne el umbral de conmutación que
Si hace clic en la flecha izquierda o derecha del determina qué entrada se pasa a la salida.
control deslizante, el valor actual cambia en Mostrar parámetros adicionales
aproximadamente un 1% del rango del control Si se selecciona, los parámetros adicionales
deslizante. Si hace clic en el área rectangular a específicos para la implementación del bloque
cualquier lado del indicador del control deslizante, el se vuelven visibles como se muestra.
valor actual cambia en aproximadamente un 10% del
rango del control deslizante. Requiere que todas las entradas del puerto de datos
tengan el mismo tipo de datos
SWITCH
Seleccione para requerir que todas las entradas
de datos tengan el mismo tipo de datos.
El bloque Switch pasa a Modo de tipo de datos de salida
través de la primera
entrada (superior) o la

2
Elija heredar el tipo de datos de salida y el que seleccionó, agregando bloques Inport y
escalado por retropropagación o por una regla Outport para reflejar las señales que entran y
interna. La regla interna hace que la salida del salen del subsistema.
bloque tenga el mismo tipo de datos y escala
El número de puertos de entrada dibujados en el icono
que la entrada con el rango positivo más
del bloque del subsistema corresponde al número de
grande. bloques Inport en el subsistema. De manera similar, el
número de puertos de salida dibujados en el bloque
Redondear cálculos de enteros hacia
corresponde al número de bloques Outport en el
subsistema.
Seleccione el modo de redondeo para la salida
de punto fijo.
3. Metodología
Saturar en desbordamiento de enteros

Si se selecciona, los desbordamientos se 3.1. Ingreso a Matlab


Este es el primer paso que se realizó durante la
saturan.
práctica, se buscó el logo de Matlab en el escritorio y
se realizó el respectivo procedimiento de doble clic
Habilitar la detección de cruce por cero
para dar apertura al programa instalado como se
Seleccione para habilitar la detección de cruce observa en la figura 3.
por cero. Para obtener más información,
consulte Detección de cruce por cero en la
documentación Uso de Simulink.

CREAR UN SUBSISTEMA:

Un bloque de subsistema representa un subsistema del


sistema que lo contiene. El bloque Subsistema puede
representar un subsistema virtual o un subsistema
verdadero (atómico) (consulte Subsistemas atómicos
versus subsistemas virtuales), según el valor de
su parámetro Tratar como unidad atómica . Un
bloque de subsistema atómico es un bloque de
subsistema que tiene su parámetro Tratar como
unidad atómica seleccionado de forma
predeterminada. Figura 3. Ingreso a MATLAB
Creas un subsistema de estas formas:
3.2. Abrir una nueva ventana de comando
 Copie el bloque Subsystem (o Atomic Como segunda instancia después de dar apertura a la
Subsystem) de la biblioteca Ports & aplicación, se abrió una nueva ventana de comandos,
Subsystems en su modelo. Luego, puede como se observa en la Figura 4.
agregar bloques al subsistema abriendo el
bloque Subsystem y copiando bloques en su
ventana.
 Seleccione los bloques y líneas que van a
formar el subsistema usando un cuadro
delimitador, luego elija Crear subsistema en
el menú Editar. Simulink reemplaza los
bloques con un bloque de subsistema. Cuando
abre el bloque, la ventana muestra los bloques

3
Figura 4. Nueva ventana de comando en blanco Figura 6. Librería Simulink

3.5. Nuevo modelo “New Model”


3.3. apertura del simulador “Simulink” Para poder realizar la simulación, se necesitó la
se procedió a abrir el simulador de las siguiente activación de un nuevo modelo, o un modelo en
manera: blanco, como se observa en la figura 7.

3.3.1.Dar clic al botón llamado “SIMULINK”


que se encuentra en la barra de
herramientas llamada “HOME”, como
se muestra en la figura 5.

Figura 7. New Model o modelo en blanco para


simulación
Figura 5. Simulink
3.6. Primera Parte
3.4. Librería Simulink Se realizo la primera parte de la practica con ayuda de
Después de lograr abrir Simulink se inicio con la Simulink, de la siguiente manera:
exploración de cada una de sus funciones y comandos
para la simulacion, Como se muestra en la Figura 6. 3.6.1.En la librería de Simulink se ubicó la
parte de Commonly Used Blocks y se
arrastró el bloque que tiene por nombre
“Switch” hacia el módulo en blanco
como se observa en la figura 8.

4
Figura 8. Primer Bloque Figura 10. Determinación de criterios del bloque
Switch
3.6.2.Le dimos doble clic al switch
observamos que tiene diferentes criterios 3.6.4.Se prosiguió con arrastrar un Scope
para preguntar por la entrada del medio, simplemente para analizar la salida, se
por ejemplo la entrada del medio se conectó, y por ultimo también se agrego
llama U 2 si U 2 es mayor que el un bloque constante en commonly used
threshold y en la parte de abajo se ve blocks, con esta constante podemos
que el threshold es 0 si esto es cierto, asignar el valor lógico al if else por
pasara la condición de arriba de la ultimo, fuimos a math operations y
izquierda, si no es verdad pasara la escojimos el slider gain, lo colocamos
condición de abajocomo se observa en la entre la constante y el if else el slider
figura 9 gain como se ve en la figura 11.

Figura 11. Slider Gain

3.6.5. Se multiplico el slider gain sabiendo


que el gain o ganancia multiplica la
entrada por lo que hay en el slider gain
Figura 9. Control del bloque Switch si se tiene la constante 1 la multiplicara
por el 1 del slider gain y saldrá de este el
3.6.3.Se pueden escoger varios criterios, se número 1, se conectaron el slider gain al
dejo la condición si U 2 es mayor que el if else como se ve en la figura 12.
threshold y se cambio el threshold por el
valor de 1. Como se ve en la Figura 10.

5
Figura 12. Conocimiento del funcionamiento del Figura 14. Pulse Generator
Slider Gain
3.6.8.Se configuro el pulse generator, 1 un
3.6.6.Se dejo en 1.760 el valor del Slider periodo rapido 1 segundo, el ancho de
Gain, este se multiplicará con la pulso, en 50 con la finalidad de q como
constante 1 esto será mayor que 1 al el periodo es un segundo quede 0 5
entrar en el bloque inf else, como se segundos en máximo y 0 5 en mínimo y
muestra en la figura 13. le dimos ok. Como se ve en la figura 15.

Figura 13. Valor de Slider Gain

3.6.7.Para analizar inicialmente vamos a


Figura15. Configuración Pulse Generator
sources, estos bloques sirven para tomar
diferentes tipos de señales, tomamos
3.6.9.En la parte inferior pusimos otra señal,
pulse generator, el cual genera una onda
la senoidal “sine wave”, la conectamos
de pulsos cuadrados y se conecto en la
en la parte inferor del if else y pasamos a
parte superior del if else, al darle doble
configuar dicho elemento. Como se ve
clic se puede configurar. Como se puede
en la figura 16
ver en la figura 14.

6
Figura 16. Sine Wave

3.6.10. Colocamos una frequency de 5, mas


adelante asignamos el periodo de
muestreo “simple time periodo de Figura 18. Corrida de la simulación
muestreo asignémosle un periodo de
muestreo pequeño por ejemplo 5e-6
damos ok como en la figura 17

3.7. Segunda parte


Los primeros 4 pasos se duplicaron y se siguió el
siguiente procedimiento para realizar la segunda parte:

3.7.1.Después de abrir de nuevo Simulink, se


eligió la opción Nueva Librería como se
muestra en la figura 19

Figura 17. Configuración Sine Wave

3.6.11. De esta forma hemos conseguido un if Figura 19. Nueva Libreria


else dentro de simulink Ahora vamos a
simularlo podremos observar que en la 3.7.2.En segunda instancia se Le dio doble
parte superior me indica que solo lo clic en lo blanco y le damos crear
simulara por 10 segundos, como le anotación escribimos la siguiente
pusimos el slider gain vamos hacerlo ecuación y(x)=k*x^ 2, como en la figura
simular infinitamente, despues se le da 20
Run y se puede ver en el Scope las
curvas haciendo respectivos cambios
como en la figura 18.

7
Figura 20. Ecuación

3.7.3.Creamos una librería o bloque que nos


hiciera un calculo de este polinomio y
que dependiera de x, donde k es una Figura 22. Creación de las constantes
constante, procedimos a abrir los
bloques librery Browser”, fuimos a math 3.7.5.Para crear la librería tengo dos opciones
operations Para hacer dicho bloque el Hacer un subsistema o bloque para que
cual es una operación matemática, me haga toda la operación, al
necesitamos una k un bloque ganancia y seleccionar todo en la parte inferior de la
necesitamos elevar una señal al derecha salen tres punticos al pararnos
cuadrado, para tal fin arrastramos el sobre estos se desprenden una serie de
bloque math function todos estos se funciones
encuentran en math operation, como se - Una de las formas es darle clic a la
muestra en la figura 21. primera opción create subsystem
para que se cree un susbsistema a
partir de la selección ó me paro a
cualquier bloque doy clic derecho y
me aparece la opción. Como en la
figura 23.

Figura 21. Primeros bloques de la nueva librería.

3.7.4. Se realizaron los pasos pertinentes para


Lo que deseo, que es que haga
simplemente el producto de la ganancia
multiplicado por la función matemática
y que lo entrega en la salida 1. Luego se Figura 23. Creación de subsistema
marcaron los bloques con cada constante
Como en la figura 22. 3.7.6.Se procedió a Al oprimir create
subsystem vemos que automáticamente
se crea un bloque que contiene
automáticamente todas las operaciones
realizadas. Además, se eliminan las

8
entradas y queda listo el ejercicio de
subsistema como en la figura 24.

Figura 24. resultado de la última operación realizada

4. Conclusiones

 Una sentencia condicional es una instrucción


MATLAB que permite tomar decisiones sobre
si se ejecuta un grupo de comandos que
cumplen una condición o, por el contrario,
omitirlos.
 En una sentencia condicional se evalúa una
expresión condicional. Si la expresión es
verdadera, el grupo o bloque de comandos se
ejecutan. Si la expresión es falsa, MATLAB no
ejecuta (salta) el grupo de comandos en
cuestión
 El if simple le permite ejecutar una serie de
enunciados si una condición es verdadera y
saltar dichos pasos si la condición es falsa.

5. Bibliografía

 http://www.ece.northwestern.edu/local-
apps/matlabhelp/toolbox/simulink/slref/subsys
tem.html
 http://www.ece.northwestern.edu/local-
apps/matlabhelp/toolbox/simulink/slref/switch
.html
 https://ww2.mathworks.cn/help/matlab/ref/if.h
tml?lang=en

También podría gustarte