Funciones por Partes o “A Tramos” en Scilab

Este es el primero de una serie de tutoriales o ‘artículos’ sobre Scilab®, si estas en esta entrada, dos cosas son ciertas, lo más probable es que estás en el ámbito de la ingeniería y ademas sabes que es Scilab®, así que lo único que queda por decir es que es un gran paquete de software de calculo científico, disponible en todas las plataformas y que además es libre.

Algunas de las situaciones con las que más nos encontramos en ingeniería es con el hecho de tener que trabajar con funciones por partes, por ejemplo señales cuadradas, rectangulares, etc…Por esta razón es importante saber como generarlas, un ejemplo de lo anterior es la señal o función que se presenta en la figura 1.

fig 1. Función por partes.

fig 1. Función por partes.

La función de la figura 1 viene dada por la ecuación 1.

blog

¿Pero como lo hacemos en Scilab®?

Para lograrlo nos valemos de algo bastante simple, los operadores lógicos (<,>,>=,<=) ¿no es de esta forma como construimos funciones por partes en la vida real?, y de esta forma nos valemos a su vez de los valores lógicos (true o false…1 ó 0) que dichos operadores nos retornan, por lo tanto solo necesitamos generar un vecto que haga las veces de variable independiente, como hemos hecho hasta ahora, ya sea:

blog1

En este caso se genero un vector ‘t’ que hará las veces de variable independiente, que va desde -5 hasta 5 y que tiene 600 componentes linealmente espaciadas…..otra forma sería haciendo uso del operador ‘ :

 blog2

En esta ultima forma, al usar el operador ‘ : ‘ lo que hacemos es indicarle Scilab que el vector t iniciará en -5, aumentará en pasos de 0.02 y llegará hasta 5.

Después de tener el vector o ‘variable’ independiente generada lo que hacemos es darle uso a los operadores lógicos para el ejemplo de la figura 1 de la siguiente forma:

blog4

Como se puede observar la forma en que se escribe tiene mucha “lógica” pues que si lo leemos, sería como: “para los t menores o iguales a 1, entonces f igual a t²” en este caso, si la condición es verdadera entonces dicha parte de la función (t²) se multiplicará por un uno lógico, de lo contrario el operador lógico retornará un cero (0 ó False) y esa expresión no será válida, es este principio en el que nos basamos para construir estas señales por partes.

Si graficamos a f  con respecto a t obtendremos entonces la figura 2.

Figura 2. Función por partes en Scilab, corresponde al ejemplo 1.

Figura 2. Función por partes en Scilab, corresponde al ejemplo de figura 1.

 

¿Qué pasa con condiciones dobles  m<t<n?

En ocasiones (la mayoría) las funciones por partes tiene mas de una condición, para esto haremos un ejemplo más, implementaremos la función definida en la ecuación 2, donde el último tramo presenta una condición doble -2=<t<=2 :

blog

 

Generamos nuestra variable independiente, para este caso lo haré desde -8 hasta 8 y con 1200 puntos.

blog5

y luego escribimos la función por partes del mismo modo que lo hicimos antes…solo que cuando lleguemos a la ultima sentencia haremos uso del operador lógico & ya que se deben cumplir ambas condiciones t>=-2 Y t<=2 entonces quedaría de la siguiente forma:

blog6

Cuando ejecutamos el comando plot(t,f), entonces se nos presenta el resultado final (¡el que esperamos!) y obtenemos la función por partes de la figura 3.

Fig 3. Función por partes para el ejemplo 2, con condición doble.

Fig 3. Función por partes para el ejemplo 2, con condición doble.

 

De esta forma podemos generar nuestras funciones por tramos o también llamadas funciones por partes, haciendo uso de operadores lógicos fácilmente, espero que esto te haya sido de ayuda, si tienes alguna pregunta con respecto al código no dudes en comentar.

Autor: Julio Echeverri.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s