Documentos de Académico
Documentos de Profesional
Documentos de Cultura
INTEGRANTES:
………………………………………………………………………….
………………………………………………………………………….
SANGOLQUÍ, 20__
Departamento de Eléctrica, Electrónica y Telecomunicaciones
Índice
Índice ................................................................................................................................................... 2
Lista de Figuras: ................................................................................................................................... 3
Lista de Tablas ..................................................................................................................................... 4
1 Tema de la práctica: .................................................................................................................... 5
2 Objetivos: .................................................................................................................................... 5
2.1 Objetivo General: ................................................................................................................ 5
2.2 Objetivos Específicos: .......................................................................................................... 5
3 Marco Teórico: ............................................................................................................................ 5
4 Desarrollo: ................................................................................................................................. 16
4.1 Desarrollo en Matlab......................................................................................................... 16
4.1.1 Ejemplo 1.1................................................................................................................ 16
4.1.2 Ejemplo 1.2 ................................................................................................................ 19
4.1.3 Ejemplo 1.3 ................................................................................................................ 22
5 Comandos Utilizados: ................................................................................................................ 24
6 Ejercicios Propuestos: ............................................................................................................... 25
6.1 Ejercicio 1 .......................................................................................................................... 25
6.2 Ejercicio 2 .......................................................................................................................... 25
7 Conclusiones: ............................................................................................................................ 25
8 Anexos: ...................................................................................................................................... 25
9 Bibliografía ................................................................................................................................ 25
2
Departamento de Eléctrica, Electrónica y Telecomunicaciones
Lista de Figuras:
Figura 1: Ventana principal de Matlab. ............................................................................................... 5
Figura 2: Pantalla principal de Rstudio................................................................................................ 6
Figura 3: Pantalla principal de Spyder. ................................................................................................ 7
Figura 4: Ejemplo de un gráfico en 2D en: (a)Matlab, (b)Python, (c)R ............................................ 13
Figura 5: Ejemplo de un gráfico en 2D discretas en: (a)Matlab, (b)Python, (c)R .............................. 14
Figura 6: Ejemplo de un gráfico en 3D en: (a)Matlab, (b)Python, (c)R ............................................. 16
Figura 7. Gráfica de funciones (13), (14) y (15) en: (a) y (b) Matlab, (c) y (d) R, (e) y (f) Python. ..... 19
Figura 8. Gráfica de dispersión de peso y estatura en (a) Matlab, (b) R y (c) Python. ...................... 21
Figura 9. Respuesta de covarianza (Matlab) ..................................................................................... 23
Figura 10. Respuesta de covarianza (R) ............................................................................................ 23
Figura 11.Respuesta de covarianza (Python) .................................................................................... 23
3
Departamento de Eléctrica, Electrónica y Telecomunicaciones
Lista de Tablas
Tabla 1. Ejemplo de Matriz Cuadrada ................................................................................................. 9
Tabla 2. Ejemplo de Matriz Rectangular ........................................................................................... 10
Tabla 3.Ejemplo del vector fila en los distintos lenguajes de programación. ................................... 10
Tabla 4. Ejemplo del vector columna en los distintos lenguajes de programación. ......................... 10
Tabla 5. Ejemplo de la Matriz identidad en los distintos lenguajes de programación. .................... 10
Tabla 6. Ejemplo de la Matriz cuadrada de ceros en los distintos lenguajes de programación. ...... 10
Tabla 7. Ejemplo de la Matriz Rectangular de ceros en los distintos lenguajes de programación. .. 11
Tabla 8. Ejemplo suma de vectores en los distintos lenguajes de programación............................. 11
Tabla 9. Ejemplo resta de vectores en los distintos lenguajes de programación. ............................ 11
Tabla 10. Ejemplo de multiplicación de vectores en los distintos lenguajes de programación. ...... 12
Tabla 11. Ejemplo de gráficos 2D continuas en los distintos lenguajes de programación. .............. 12
Tabla 12. Ejemplo de gráficos 2D discreta en los distintos lenguajes de programación. ................. 13
Tabla 13. Ejemplo de gráficos 3D en los distintos lenguajes de programación. ............................... 15
Tabla 14. Código para generar vectores de distintos tamaños en Matlab, R y Python. ................... 17
Tabla 15. Código de ejemplo 1.2 en Matlab, R y Python. ................................................................. 19
Tabla 16. Cálculo de covarianza del ejercicio 1.3 en Matlab, R y Python. ........................................ 22
Tabla 17. Códigos de ejercicio 1 de sección 6 ...................................... ¡Error! Marcador no definido.
Tabla 18. Códigos de ejercicio 2 de sección 6 ...................................... ¡Error! Marcador no definido.
4
Departamento de Eléctrica, Electrónica y Telecomunicaciones
1 Tema de la práctica:
Introducción a Matlab, Python y R, comandos básicos, uso de vectores, matrices y diagramas.
2 Objetivos:
2.1 Objetivo General:
Aprender a utilizar comandos básicos para poder utilizar vectores y matrices en los diferentes
lenguajes de programación matemáticos.
3 Marco Teórico:
Matlab
Directorio actual de trabajo (Current Directory). - Donde se guardan las funciones creadas. [1]
5
Departamento de Eléctrica, Electrónica y Telecomunicaciones
Espacio de Trabajo ((Workspace). - Aquí aparecen las variables o funciones cargadas. [1]
Ventana de comandos (Command Window). -Consola sobre la que se escriben los comandos. [1]
Historial de comandos (Command History). - Aquí se guardan los comandos escritos en la consola.
[1]
R.
6
Departamento de Eléctrica, Electrónica y Telecomunicaciones
Python
VECTORES Y MATRICES.
Vectores.
Es un arreglo unidimensional de datos, estos pueden ser valores numéricos, letras se los puede
representar en forma de vectores filas (1xn), o en forma de vectores columna (nx1), etc. [4]
• Vector fila
𝐴 = [1, 5, 7, 7, 4];
• Vector Columna
5
𝐵 = [ 4]
1
7
Departamento de Eléctrica, Electrónica y Telecomunicaciones
Tipos de vectores
• Vector fila. -Es una matriz de orden 1xn, es decir tiene una sola fila y varias columnas.
• Vector columna. -Matriz de orden nx1, tiene una sola columna y varias filas. [4]
Matrices
4 5 2
𝐴 = (1 2 2)
2 3 1
2 2 7
𝐵=( )
8 11 8
Tipos de Matrices
• Matriz cuadrada. -Es una matriz que tiene el mismo número de filas y columnas.
• Matriz rectangular. -Matriz que tiene número de filas y columnas diferentes.
• Matriz identidad. -Matriz que en solo tiene elementos en su diagonal principal, ese
elemento es el 1.
• Matriz de ceros. -Es una matriz en la cual sus elementos son todos 0, puede ser cuadrada o
rectangular. [4]
• Suma y resta.
Para realizar las operaciones de suma y resta entre matrices se tiene que tener en cuenta que estas
matrices deben tener el mismo número de filas y columnas. [5]
Ejemplo
𝑖 = 1/2/3/4/ … 𝑛 ( 1)
𝐶𝑖𝑗 = 𝐴𝑖𝑗 + 𝐵𝑖𝑗 𝑝𝑎𝑟𝑎
𝑗 = 1/2/3/4/ … 𝑛
8
Departamento de Eléctrica, Electrónica y Telecomunicaciones
Multiplicación.
Para realizar la multiplicación entre dos matrices se tiene que tener en cuenta que el número de
columnas de la primera matriz tiene que ser igual al número de filas de la segunda matriz, y la
dimensión de la matriz resultante es el número de filas de la primera matriz, y el número de
columnas de la segunda matriz. [5]
𝑎11 𝑎12 ( 2)
𝐴 = (𝑎 𝑎22 )
21
𝑏 𝑏12 ( 3)
𝐵 = ( 11 )
𝑏21 𝑏22
𝐶 =𝐴×𝐵 ( 4)
𝑐11 𝑐12 ( 5)
𝐶 = (𝑐 𝑐22 )
21
Ejemplos.
Versión Matlab
>>A=[1 2 3;4 5 6;7 8 9];
Versión R
>>A= matrix(1:15,nrow=4,ncol=4)
Versión Python
>>import numpy as np
>>A= [[1, 4, 5],[-5, 8, 9],[7,8,9]];
9
Departamento de Eléctrica, Electrónica y Telecomunicaciones
Versión Matlab
>> B=[1 2 3;5 4 6];
Versión R
>> B=matrix(1:6,nrow=2,ncol=3)
Versión Python
>>import numpy as np
>> B = [[1, 2, 3],[5, 4, 6]];
Versión Matlab
>> C=[1 2 3 4 6 6];
Versión R
>> C=(1,5,3,2)
Versión Python
>>import numpy as np
>> C=[2, 5, 7];
Versión Matlab
>> D=[1; 5; 5];
Versión R
>> D=matrix(x,nrow=5,ncol=1);
Versión Python
>>import numpy as np
>> D=[[1],[5],[5]];
Versión Matlab
>> E=eye(4);
Versión R
>> E=diag(4)
Versión Python
>> E= np.identity(4)
Versión Matlab
>> F=zeros(4);
10
Departamento de Eléctrica, Electrónica y Telecomunicaciones
Versión R
>> F= zeros (4)
Versión Python
>>import numpy as np
>> F= np.zeros(4);
Versión Matlab
>> G=zeros(3,5);
Versión R
>> G= zeros (3,5);
Versión Python
>>import numpy as np
>> G= np.zeros(3,5);
Versión Matlab
>>A=[1 2 3;4 5 6;7 8 9];
>>F=zeros(4);
>>Q=A+F;
Versión R
>> A= matrix(1:15,nrow=4,ncol=4);
>> F= zeros (4);
>> Q=A+F;
Versión Python
>>import numpy as np
>> A= [[1, 4, 5],[-5, 8, 9],[7,8,9]];
>> F= np.zeros(4);
>> Q= A+F;
Versión Matlab
>>A=[1 2 3;4 5 6;7 8 9];
>>F=zeros(4);
>>Q=A-F;
Versión R
>>A= matrix(1:15,nrow=4,ncol=4);
>> F= zeros (4);
>>Q=A-F;
Versión Python
>>import numpy as np
>> A= [[1, 4, 5],[-5, 8, 9],[7,8,9]];
>> F= np.zeros(4);
11
Departamento de Eléctrica, Electrónica y Telecomunicaciones
>> Q= A-F;
Tabla 10. Ejemplo de multiplicación de vectores en los distintos lenguajes de programación.
Versión Matlab
>>A=[1 2 3;4 5 6;7 8 9];
>>F=zeros(4);
>>Q=A*F;
Versión R
>>A= matrix(1:15,nrow=4,ncol=4);
>> F= zeros (4);
>>Q=A*F;
Versión Python
>>import numpy as np
>> A= [[1, 4, 5],[-5, 8, 9],[7,8,9]];
>> F= np.zeros(4);
>> Q= A*F;
GRÁFICAS.
Además de poder ocupar vectores y matrices, es importante estar familiarizados con realizar
gráficos en los diferentes lenguajes de programación, ya que estos van a servir para graficar
funciones. [6]
𝑦 = 2𝑥 ( 10)
Versión Matlab
>>x=-5:0.01:5;
>>y=2*x;
>>plot(x,y);
>>xlabel('t');
>>ylabel('x(t)');
Versión R
>>x=seq(-5,5,length=100)
>>y=2*x;
>>plot(x,y,type="l",col="blue",lwd=3)
Versión Python
>>from pylab import *
>>import matplotlib.pyplot as plt
>>x = np.arange(-5, 5, 0.1)
>>y = 2*x
>>plt.plot(x, y)
>>plt.ylabel("y")
>>plt.xlabel("x")
12
Departamento de Eléctrica, Electrónica y Telecomunicaciones
(a) (b)
(c)
También se pueden realizar gráficos de forma discreta, a continuación, se muestran los comandos.
[6]
Versión Matlab
>>x=-5:0.01:5;
>>y=2*x;
>>stem(x,y);
>>xlabel('t');
>>ylabel('x(t)');
Versión R
>>x=seq(-5,5,length=10)
>>y=2*x;
>>plot(x,y, main="Gráfica 01.1a.: Diagrama de Dispersión")
13
Departamento de Eléctrica, Electrónica y Telecomunicaciones
Versión Python
>>from pylab import *
>>import matplotlib.pyplot as plt
>>x = np.arange(-5, 5, 0.1)
>>y = 2*x
>> plt.stem(x,y)
>>plt.ylabel("y")
>>plt.xlabel("x")
(a) (b)
(c)
También es importante poder realizar gráficos de funciones en 3D, se va a realizar un ejemplo para
mostrar los comandos a utilizar en los diferentes lenguajes de programación. [6]
z = 𝑥2 + 𝑦2 ( 11)
14
Departamento de Eléctrica, Electrónica y Telecomunicaciones
Versión Matlab
>>x=-10:0.01:10;
>>y=-10:0.01:10;
>> [x, y] = meshgrid(x,y);
>>z =x.^2+y.^2;
>>surf(x,y,z);
>>xlabel('X');
>>ylabel('Y');
>>zlabel('Z');
Versión R
>>x=seq(-10,10,length=100)
>>y=seq(-10,10,length=100)
>>parabola=function(x,y) x^2+y^2
>>z=outer(x, y, parabola)
>>persp(x,y,z)
Versión Python
>>from mpl_toolkits.mplot3d import axes3d
>>import matplotlib.pyplot as plt
>>import numpy as np
>>X=np.linspace(-10,10,100)
>>Y=np.linspace(-10,10,100)
>>X,Y=np.meshgrid(X,Y);
>>Z=X**2+Y**2;
>>fig = plt.figure()
>>ax1 = fig.add_subplot(111,projection='3d')
>>ax1.plot_wireframe(X, Y, Z,rstride=2,cstride=2,cmap='Blues')
>>plt.show()
>>ax.set_xlabel(‘X’);
>>ax.set_ylabel(‘Y’);
>>ax.set_zlabel(‘Z’);
>>plt.show();
(a) (b)
15
Departamento de Eléctrica, Electrónica y Telecomunicaciones
(c)
4 Desarrollo:
4.1 Desarrollo en Matlab
4.1.1 Ejemplo 1.1
Generación de vectores de distinto tamaño.
𝑦 =5+𝑡 (13)
Que representa una función parabólica (13) y función lineal (14), requiere de un vector en un rango
de -10 a 10 para generar sus gráficas.
Si tenemos
𝑘 𝑣 𝑘−1 −𝑣 (14)
𝑥= ∗ 𝑒 𝜆
𝜆 𝜆
16
Departamento de Eléctrica, Electrónica y Telecomunicaciones
Tabla 14. Código para generar vectores de distintos tamaños en Matlab, R y Python.
Versión Matlab
>>t=-10:1:10;
>>x_t=t.^2;
>>plot(t,x_t)
>>title('Grafico 1: x(t)=t^2');
>>xlabel('t');ylabel('x(t)');
>>grid on; hold on;
>>y_t=5+t;
>>plot(t,y_t,'r')
>>hold off;
>>fv=inline('(k/lambda).*((v/lambda).^(k-1)).*exp(-(v/lambda))');
>>k=2.776;
>>lambda = 4.9;
>>v=0:0.1:10;
>>f=fv(v,lambda,k);
>>plot(v,f);
>>f=fv(v,lambda,2*k);
>>hold on;
>>plot(v,f,'r');
>>f=fv(v,lambda,2*k);
>>hold on;
>>plot(v,f,'g');
>>hold off
Versión R
>> t<-seq(-10,10,by=1);
>> x_t=t^2;
>> y_t<-5+t;
>> df <- data.frame(t,x_t,y_t)
>> require(ggplot2)
>> g <- ggplot(df, aes(t))
>> g <- g + geom_line(aes(y=x_t), colour="red")
>> g <- g + geom_line(aes(y=y_t), colour="green")
>> g
Versión Python
>>t = np.arange(-10, 11, 1)
>>xt = t**2
>>print("Operacion xt^2")
>>print(" ")
>>print(xt)
>>print(" ")
#Grafica ejercicio 1
>>plt.plot(t, xt)
>>plt.title("Grafico 1 x(t)=t^2")
>>plt.ylabel("xt(t)")
>>plt.xlabel("t")
>>plt.hold(True)
>>yt = 5 + t
>>print("Operacion yt=t+5")
>>print(" ")
17
Departamento de Eléctrica, Electrónica y Telecomunicaciones
>>print(yt)
>>print(" ")
>>plt.plot(t, yt, color='r')
>>plt.grid()
>>plt.show()
>>plt.clf()
En la figura 4(a), 5(a) y 6(a) se muestra el resultado del algoritmo en los tres lenguajes de
programación (Matlab, R y Python) respectivamente, en donde se muestra como la ecuación (13) y
ecuación (14) se grafican en un intervalo de -10 a 10. Por otro lado, la figura 4(b), 5(b) y 6(b) muestra
la ecuación (15), misma que toma valores distintos para la variable 𝑘.
18
(c) (d)
(e) (f)
Figura 7. Gráfica de funciones (13), (14) y (15) en: (a) y (b) Matlab, (c) y (d) R, (e) y (f) Python.
1. Tomar los datos de estatura y peso de los alumnos que se encuentren cursando la materia.
2. Ingresar en dos vectores uno para el peso y el otro para la estatura.
3. Graficar el diagrama de dispersión de los datos.
4. Comentar los gráficos resultantes.
Versión Matlab
>>Peso=[51,53,56,52,53,57,56,71,53,57,56];
>>Estatura=[150,144,161,157,155,155,165,175,179,161,153];
>>scatter(Peso,Estatura)
>>xlabel('PESO')
>>ylabel('ESTATURA')
Versión R
Departamento de Eléctrica, Electrónica y Telecomunicaciones
20
Departamento de Eléctrica, Electrónica y Telecomunicaciones
(a)
(b)
(c)
Figura 8. Gráfica de dispersión de peso y estatura en (a) Matlab, (b) R y (c) Python.
21
Departamento de Eléctrica, Electrónica y Telecomunicaciones
Versión Matlab
>>Peso=[51,53,56,52,53,57,56,71,53,57,56];
>>Estatura=[150,144,161,157,155,155,165,175,179,161,153];
>>fprintf(‘Covarizana’)
>>cov([Peso,Estatura])
>>fprintf(‘Matriz de Covarianza’)
>>cov(Peso,Estatura)
Versión R
#Covarianza
>> Peso <- c(51,53,56,52,53,57,56,71,53,57,56);
>> Estatura <- c(150,144,161,157,155,155,165,175,179,161,153);
>> cov(Peso,Estatura)
#Matriz Covarianza
>>M <- cbind(Peso,Estatura,c,d,e)
>>k <- ncol(M) #number of variables
>>n <- nrow(M) #number of subjects
>> M <- cbind(Peso,Estatura)
>> k <- ncol(M) #number of variables
>> n <- nrow(M) #number of subjects
>> M_mean <- matrix(data=1, nrow=n) %*%
>>cbind(mean(Peso),mean(Estatura))
>> D <- M - M_mean
>> C <- (n-1)^-1 * t(D) %*% D #sample covariance [matches cov()]
>> C <- (n)^-1 * t(D) %*% D #population covariance
>> var_vector <- diag(C)^(-1/2)
>> diag(var_vector) %*% C %*% diag(var_vector)
>> cov(M)
Versión Python
# Arreglo de peso del curso
>> peso = [51, 53, 56, 52, 53, 57, 56, 71, 53, 57, 56]
# Arreglo de estatura del curso
>> altura = [150, 144, 161, 157, 155, 155, 165, 175, 179, 161,
153]
>>a = np.cov(peso, altura)
>>print("Covarianza entre el peso y altura")
>>print("----------------------------------")
>>print(a)
>>print(" ----------------------------------")
22
Departamento de Eléctrica, Electrónica y Telecomunicaciones
En las Figuras 9, 10 y 11 se puede observar las diferentes formas en la que expresa el resultado del
cálculo de covarianza haciendo uso de los diferentes softwares empleados (Matlab, R, Phyton) ,
observando que la forma de representar los datos es muy similar, a excepción de R en donde para
el cálculo de la matriz de covarianza coloca el nombre de los vectores utilizados en la misma para
una mejor interpretación.
23
Departamento de Eléctrica, Electrónica y Telecomunicaciones
5 Comandos Utilizados:
FUNCION COMANDOS
MATLAB R PYTHON
Vector Fila t=-10:1:10; t <-seq(-10,10,by=1); t = np.arange(-10, 11,
1)
Vector columna [1; 2; 3; 4] c(1,2,3,4) array([[0],
[2],
[4],
[6]])
24
Departamento de Eléctrica, Electrónica y Telecomunicaciones
6 Ejercicios Propuestos:
6.1 Ejercicio 1
Una empresa electrónica realiza el inventario de sus elementos, se tiene que el siguiente vector
representa el número de resistencias que se han vendido en cada una de las sucursales,
A=[1,2,3,4,5], se pide calcular el total de elementos que se han vendido en toda la empresa.
6.2 Ejercicio 2
Extraer los datos que se encuentren en el intervalo de 1 a 3 de un vector de 10 dígitos que sea
generado aleatoriamente en el intervalo de -1.5 a 4.5
7 Conclusiones:
8 Anexos:
9 Bibliografía
[1] «Learn with MATLAB and Simulink Tutorials,» 06 Febrero 2019. [En línea]. Available:
https://www.mathworks.com/support/learn-with-matlab-tutorials.html.
[5] N. Rougier, M. Müller y G. Varoquaux, «Matplotlib: Gráficas usando pylab,» 6 Febrero 2019.
[En línea]. Available: https://claudiovz.github.io/scipy-lecture-notes-
ES/intro/matplotlib/matplotlib.html.
[6] «Gráfico de dispersión - MATLAB scatter,» 6 Febrero 2019. [En línea]. Available:
https://la.mathworks.com/help/matlab/ref/scatter.html.
25
Departamento de Eléctrica, Electrónica y Telecomunicaciones
26
Departamento de Eléctrica, Electrónica y Telecomunicaciones
INDICACIONES GENERALES
Los ejercicios de la guía tienen que cambiar los datos, no pueden ser los mismos planteados en este
trabajo, usarlos solo como referencia.
Su marco teórico tiene que ser diferente investigar mas sobre cada lenguaje de programación para
realizar las guías.
En el apartado de anexos realizar los ejercicios propuestos, acompañado de su grafica código fuente
análisis de resultados
27