¿Qué es Matlab? - (Informe explicativo)

0

Autores: Mauro Benito Montoya Arenas (mauro2017pre@gmail.com)
                     Terry Quispe Paniagua (terryfiee2021@gmail.com)

¿Qué es MATLAB?


Abstract. In this class we will study Matlab fully: To start we will know the Matlab programming environment. Secondly, we will learn to do basic operations such as addition, subtraction, multiplication and division, not only with simple numbers but also with matrices. Then we will save the variables that are in the "workspace" (with the "save" function) in a ".mat" file, variables that we can recover if we execute the "load" function followed by the name of the folder and putting its file ". mat ". Next we will represent in Matlab polynomials of "n" degrees and we will extract their roots, we will also do the inverse, from the roots of a polynomial we will extract its characteristic polynomial. With the knowledge already acquired, we are able to graph a function by first defining an independent variable "x", a dependent variable "y (x)" and using the function "plot (x, y)". Then we will learn to do our own functions in the Matlab editor (scripts) that we will save in the current folder with its ".m" file. Finally we will define a "transfer function" using the "tf" function and applying our knowledge of polynomials.
 
Índice de Términos— Matlab, entorno de programación, variables, vectores, matrices, comandos, polinomios, graficas, funciones, scripts, funciones de transferencia.

I.     INTRODUCCIÓN

MATLAB (MATrix LABoratory) es un programa computacional que ejecuta una gran variedad de operaciones y tareas matemáticas. Su nombre en español significa laboratorio de matrices, de hecho, MATLAB  fue diseñado en un principio para trabajar con vectores y matrices. Ya hoy abarca muchísimo más. Puede, por ejemplo, manejar los cálculos involucrados en problemas de ingeniería y ciencia. Como MATLAB es el programa más dominante del mundo técnico, muchos ingenieros y científicos requieren manejarlo para poder desempeñarse bien en sus nuevos puestos de trabajo..
A todo esto: ¿Por qué es útil MATLAB en sistemas de control?
En sistemas de control, puedes usar MATLAB para manejar todo tipo defunciones de transferencias, para graficar respuestas en frecuencia, para diseñar controladores PID, etc (un sinnúmero de aplicaciones), además de poder usar todos los ‘toolboxes’ relacionados a sistemas de control. MATLAB además viene equipado con Simulink, un entorno de programación visual muy útil para hacer diagrama de bloques

II.     MARCO TEORICO

Matrices
Definición: Una matriz es un arreglo bidimensional de números (llamados entradas de la matriz) ordenados en filas (o renglones) y columnas, donde una fila es cada una de las líneas horizontales de la matriz y una columna es cada una de las líneas verticales. A una matriz con m filas y n columnas se le denomina «matriz m por n» (escrito mxn) donde m y n pertenecen a los enteros. El conjunto de las matrices de tamaño  se representa como , donde  es el campo al cual pertenecen las entradas. El tamaño de una matriz siempre se da con el número de filas primero y el número de columnas después.
 
Propiedades básicas con matrices:
Asociatividad: (A+B)+C = A+(B+C)                             (ec.1)
                          (AB)C=A(BC)                                          (ec.2)
                           (λµ)A=λ(µA)                                            (ec.3)
 
Distribuidad: λ(A+B)=λA+λB                                          (ec.4)
 
Elemento neutro: 1.A=A                                                   (ec.5)
 
Vector nulo: 0+A=A                                                          (ec.6)
                       0.A=A                                                           (ec.7)
 
Inverso de la matriz: A x inv(A)= I                                (ec.8)

Vectores (informática) 
En programación, se le denomina vectorformación, matriz, arreglo (en inglés array)1​ a una zona de almacenamiento contiguo que contiene una serie de elementos del mismo tipo, los elementos de la matriz.2​ Desde el punto de vista lógico una matriz se puede ver como un conjunto de elementos ordenados en fila (o filas y columnas si tuviera dos dimensiones)
Índices: Todo vector se compone de un determinado número de elementos, lo cual lo hace que sea una estructura estática. Cada elemento es referenciado por la posición que ocupa dentro del vector. Dichas posiciones son llamadas índice y siempre son correlativos. Existen tres formas de indexar los elementos de una matriz:

 Notación:

Tabla 1. Se muestra como declara vectores en distintos lenguajes de programacion

Tipos de datos en MATLAB
Por defecto, MATLAB® almacena todas las variables numéricas como valores de punto flotante de doble precisión. Los tipos de datos adicionales almacenan texto, valores enteros o de precisión simple, o una combinación de datos relacionados en una variable única.

Tabla 2. Se muestra el tipo de dato del resultado al ejecutar algunas funciones

III.     Materiales y métodos

A.     Esquemas



B.     Procedimiento
a.        Parte 1: Variables, vectores y matrices
Para crear una variable, se usa la sentencia de asignación con el siguiente formato:
>> NombreDeLaVariable= expresión
Entonces para crear una variable a con un valor de 1, debe ejecutar la siguiente instrucción en la línea de comandos:
El resultado se muestra automáticamente y la variable creada se registra en el Workspace. Ahora cree las variables b, c y d utilizando las siguientes instrucciones:

 

Figura 4. Se crean las variables a, b, c y d 

Figura 5. Las respuestas se registran en el workspace
 
Cuando no se especifica una variable de salida, MATLAB utiliza la variable ans, abreviatura de answer (respuesta), para almacenar los resultados del cálculo.
Si una instrucción finaliza con punto y coma, MATLAB realiza el cálculo, pero elimina la visualización de la salida en la ventana de comandos.

Figura 6. sin(a) se asigna por default en la variable ans.


Figura 7. “e”  no se muestra porque termina en punto y coma; “t” almacena una variable string
 
Si una instrucción finaliza con punto y coma, MATLAB realiza el cálculo, pero elimina la visualización de la salida en la ventana de comandos.
También se puede asignar caracteres o secuencia de caracteres a una variable. Se debe incluir los caracteres dentro de comillas, tal como se muestra en la Figura.
Para crear un arreglo con cuatro elementos en una fila única, separe los elementos con una coma (,) o un espacio. Para crear una matriz con varias filas, separe las filas con punto y coma.

Figura 8. Se define un vector “x” 

Figura 9. Se define la matriz 3x3 “y”
 
Realice las siguientes operaciones y explique el resultado obtenido:


y+10



Figura 10. Muestra el resultado y+10

Descripción

Esta operación detecta el numero 10 como una matriz de la misma dimensión que y , de esta manera se suman cada elemento de la matriz con 10.

y’

Figura 11. Muestra la transpuesta de y

Descripción

Esta operación convierte las filas en columnas, en este caso 1 2 3 era la primera fila ahora es la primera columna.

y.*y

Figura 12. Muestra la multiplicacion de matrices

Descripción

Esta operación sirve para hacer un producto escalar de 2 matrices, es decir se multiplica elemento con elemento.


A=[y,y]

Figura 13. Muestra la concatenacion de matrices

Descripción

Este operador concatena 2 matrices sucesivamente.

sin(y)


Figura 14. Muestra el seno de la matriz “y”

Descripción

Esta operación devuelve el seno de cada elemento de la matriz.

 

z = y*inv(y)

Figura 15. Muestra la multiplicación de “y” por su inversa

Descripción

En esta operación vemos que inv() devuelve el inverso de la matriz , entonces se puede verificar que el resultado sea la matriz identidad por definición.

 

y.^3

Figura 16. Muestra la matriz “y” al cubo

Descripción

En esta operación se puede notar que cada elemento se eleva al cubo y da como resultado la matriz mostrada.

 

B = [x; y]

Figura 17. Intento de concatenar las matrices “x” y “y”

Descripción

Esta operación arroja error dado que x es una matriz 1x4 , y es una matriz 3x3 por lo tanto no se puede concatenar

 

b.       Parte 2: Comandos básicos:

Describa en sus propias palabras las siguientes instrucciones y muestre un ejemplo de su utilización:

·         Help: Muestra la documentación , es decir describe la función  que queremos y como se utiliza.

Figura 18. Utilización del help para conocer información sobre la covariante

·         Who: muestra las variables que se encuentran en el workspace.

Figura 19. Utilizo el comando ‘who’ 

·         Clear all: borra todas las variables incluido las variables globales

Figura 20. Información sobre el comando ‘clear’ usando help

·         Clc: limpia la ventana

Figura 21. Información sobre el comando ‘clc’ usando help

·         Close all: Cierra todas las ventanas abiertas incluyendo gráficos

Figura 22. Información sobre el comando ‘close all’ usando help

 

c.         Parte 3: Guardar y Recuperar variables

Para el informe final adjunte un archivo variables.mat que contenga 2 variables: Una variable nombrada código a la cual se le asignará los códigos de los integrantes del grupo y otra variable nombres, donde estarán asignados los nombres de estos. 

Figura 23. Creacion de las matrices “Nombres” y “Codigos”

Nota: Adjuntamos el archivo “varriables.mat” junto con este documento

 

d.        Parte 4: Polinomios

En Matlab los polinomios son representados por vectores, conteniendo los coeficientes en orden descendentes. Por ejemplo, el siguiente polinomio.

(ec.9)

Se representaría en Matlab de la siguiente manera:

Figura 24. Representación de un polinomio en MATLAB

 

Para extraer las raíces de un polinomio:

Figura 24. Función para sacar las raíces de un polinomio en MATLAB

 

Para hallar el polinomio cuyas raíces sean r1=0.5, r2=1 y r3=3:

Figura 25. Función para obtener un polinomio a partir de las raíces en MATLAB

 

Para multiplicar polinomios

Figura 25. Función para multiplicar dos polinomios en MATLAB

 

Para dividir:

Figura 25. Función para dividir dos polinomios en MATLAB

 

Ahora defina el siguiente polinomio:

(ec.10)

obtenga los resultados de las siguientes operaciones:

Figura 26. Definimos las matrices P y Q

 

Figura 27. Muestra las 3 funciones que nos pedian: P+Q(suma),  P.*Q(multiplicacion termino por termino) y P/Q()

 

e.        Parte 5: Graficas

Para realizar gráficos en dos dimensiones (2D), se utiliza el comando plot, el cual grafica dos vectores de la misma longitud. Por ejemplo, al ejecutar las líneas de código, se dibuja el vector y frente al vector x, la cual se aprecia en la figura.

Figura 28. Se muestra la grafica generada de “x” (variable independiente) y “y” (variable dependiente)

Se pueden cambiar las propiedades de los elementos que constituyen las distintas gráficas, como el color, el tipo de línea, etc. Para poder apreciar estas características ejecute las siguientes líneas de código, lo cual da como resultado la figura 3.

Figura 29. Descripcion de cada linea de codigo de la figura 3 


Figura 30. Grafica generada del codigo de la figura anterior

 

f.         Parte 6: Programación

Matlab proporciona un potente lenguaje de programación, tanto como un entorno computacional interactivo. La programación se realiza mediante ficheros “.m” desde el Editor de Matlab. Existen dos tipos de archivos de programación que se pueden realizar: Scripts, que no aceptan argumentos de entrada ni devuelven argumentos de salida.

Estos operan con variables del workspace. Funciones, que aceptan argumentos de entrada y devuelven argumentos de salida. Las variables internas son locales para la función.

Clarifiquemos esto con el siguiente ejemplo:

En el Editor de Matlab (HOME>New>Script) creamos el siguiente script llamando:

triarea1.m que calcula el área del triángulo:

b = 5;

h = 3;

a = 0.5*(b.*h)

 

Después de guardar el script, este puede ser ejecutado desde la línea de comandos, de la siguiente manera:

>> triarea

a =7.5000

 

Nótese que si queremos calcular el área de otro triangulo usando el mismo script, se debería actualizar los nuevos valores de b y h modificando el código del script. 

Sin embargo, en lugar de actualizarlo manualmente cada vez, se puede hacer un programa más flexible convirtiéndolo en una función. Para lo cual abrimos una plantilla de la estructura de una función (HOME>New>Function). Luego, modifique el nombre de la función, las asignaciones de variables de entrada y salidas; así mismo, defina la expresión del cálculo del área, tal como se presenta en las siguientes líneas:

Figura 31. Creación de nuestra funcion “a” que calcula el area de un triangulo

 

Cree un script que pida al usuario que ingrese los coeficientes de una ecuación cuadrática(ax^2 + bx + c) y que arroje como resultado las soluciones siempre y cuando sean reales caso contrario que muestre un mensaje que las soluciones no son reales. Luego convertirla en una función.

Figura 32. Creacion de la funcion  “calc” con las indicaciones especificadas

 

g.        Parte 7: Funciones de transferencia

Para definir una función de transferencia en Matlab, lo hacemos con el comando tf, considerando el par de polinomios numerador-denominador. Por ejemplo, para definir la siguiente función de transferencia H(s):

(ec.11) 

Se ejecutan las siguientes líneas de código:

Figura 33. Se muestra la creación de la funcion de transferencia H

 

Considerando la siguiente función de transferencia G(s):           

   (ec. 12)

i)                    Defínala en MATLAB

Figura 34. Definimos la función de transferencia G

 

ii)                   Encontrar el equivalente en funciones parciales.

Figura 35. Hallamos los parametros r,p y k


Figura 36. Con los parametros r,p y k podemos Hallar las funciones parciales G_p1, G_p2 y G_p3

Figura 37. Comprobamos que G es la suma de sus funciones parciales

 

iii)                 Encuentre los ceros de G(s). (cuando el numerador se hace cero).

Figura 38. Con la función “zero” hallamos los ceros de G

 

iv)                 Encuentre los polos de G(s) y H(s). (cuando el denominador se hace cero).

Figura 39. Hallamos con la funcion pole los polos de G y H

IV.     ANALISIS DE RESULTADOS

a.       Los huracanes son categorizados con base a la velocidad de los vientos. La siguiente tabla muestra el número de categoría para los huracanes con los rangos de variación del viento y cuál es el aumento de la marejada ciclónica (expresada en pies por encima de lo normal).

Cat.

Velocidad del viento

Marejada

1

74-95

4-5

2

96-110

6-8

3

111-130

9-12

4

131-155

13-18

5

>155

>18

Tabla 3. Muestra la relación de la categoría-velocidad de viento y marejada de un 

Escriba una función que como argumentos de entradas sea la velocidad del viento, y dará como respuesta la categoría del huracán y el nivel de la marejada.

Figura 40 . Se muestra el codigo en cuestion que define la categoria y la marejada de un huracan dependiendo de su velocidad 


Figura 41 .Respuesta de la funcion para distintas velocidades “v”

b.        El factor de enfriamiento del viento (WCF) mide que tan frio se siente con una temperatura (T) de aire dada (en grados Centígrados) y la velocidad del viento V (in millas por hora). Una fórmula para WCF es:

(ec.13)

Escribe una función para recibir un vector conteniendo distintas velocidades de viento como argumento de entrada y retornar el WCF para todas las distintas velocidades de vientos, además que muestre un gráfico WCF vs V. Considere T como la temperatura ambiente.

Figura 42. Se muestra el código en cuestión que calcula la WCF a partir de la velocidad del viento

 

Figura 43. Grafica de la funcion WCF con una “V” definida como un vector [0 1 2 3 4]

Figura 43. Grafica de la funcion WCF con una “V” definida como un vector 0:0l:1

 

referencias

[1]   https://es.wikipedia.org/wiki/Matriz_(matem%C3%A1ticas)

[2]   http://acapmi.com/blog/2017/09/18/que-es-matlab/

[3]   https://es.scribd.com/doc/13153902/Formato-Ieee-Abstract

[4]   https://normasapa.net/marco-teorico/

[5]   https://es.mathworks.com/help/matlab/data-types.html

[6]   https://es.wikipedia.org/wiki/Vector_(inform%C3%A1tica)#:~:text=En%20programaci%C3%B3n%2C%20se%20le%20denomina,los%20elementos%20de%20la%20matriz.

[7]   https://www.monografias.com/trabajos5/matlab/matlab.shtml

[8]   https://es.slideshare.net/luisjaramillo15595/tipos-de-datos-matlab

[9]   https://es.wikipedia.org/wiki/Simulink#:~:text=Simulink%20es%20un%20entorno%20de,el%20entorno%20de%20programaci%C3%B3n%20Matlab.

Entradas que pueden interesarte

Sin comentarios

Artículos populares

Procesamiento digital de señales (ejemplos usando matlab)

Procesamiento digital de señales (ejemplos usando matlab)

Autor: Mauro Montoya Arenas   PROCESAMIENTO DIGITAL DE SEÑA…

¿Como configurar un microcontrolador PIC? - Primer Hola Mundo

¿Como configurar un microcontrolador PIC? - Primer Hola Mundo

Configuración de un PIC - Hola Mundo En esta oportunidad ap…

PROYECTO: SISTEMA DE TRÁFICO VEHICULAR UTILIZANDO EL PIC 18F4550

PROYECTO: SISTEMA DE TRÁFICO VEHICULAR UTILIZANDO EL PIC 18F4550

Autor: Alexis                                       Contac…

¿Qué son los Sistemas embebidos?

¿Qué son los Sistemas embebidos?

Sistemas embebidos  🔴 En este articulo encontrarás: - Func…