Sunteți pe pagina 1din 42

Universidad de Oriente

Facultad de Ingeniería Eléctrica


Departamento de Telecomunicaciones

Herramientas computacionales.
Introducción a Matlab

Profesor: Ing. Alexander Mulet De los Reyes


Departamento de Telecomunicaciones
Conf. Presentación de la asignatura.

Relación de Temas de la Asignatura “Herramientas computacionales”


No Horas Nombre Evaluación
Totales

1 16H Asistente matemático Proyecto


MATLAB

2 16H AutoCAD Proyecto

2
Conf. # 1 Introducción al curso.Sumario.

1. Introducción
2. Entorno de trabajo.
3. Declaración de variables.
4. Manipulación de vectores y matrices.
5. Operaciones con matrices.

3
Conf. # 1 Introducción al curso. Bibliografía.

1. Aprenda MATLAB 6.1 como si estuviera en


primero/ Javier García de Jalón, José Ignacio
Rodríguez, Alfonso Brazález.
2. Graphics and GUIs with MATLAB / by Patrick
Marchand and O. Thomas Holland. 3rd ed.

3. Matlab Programming/ David Kuncicky.

4
Conf. Presentación de la asignatura.

Un modelo constituye una representación o abstracción de la realidad. La


modelación matemática es un intento de describir alguna parte del
mundo real en términos matemáticos.

5
Conf. # 1 Introducción al curso.

¿Qué es Matlab? (MATrix LABoratory)


 El nombre MATLAB proviene de Matrix Laboratory. Este software que
fue inicialmente desarrollado para realizar muy fácilmente operaciones con
matrices y ha revolucionado hasta convertirse en una herramienta muy
popular en diversos campos de la ingeniería y la Ciencia.
 Es un lenguaje de alto nivel para computación e ingeniería. Integra
computación, visualización y programación. Interactivo y avanzado, pero
fácil de utilizar.
 Como su nombre lo indica, utiliza la matriz como elementos básico.
 Es una plataforma de desarrollo para determinadas áreas (herramientas para
el procesamiento de señales, simulación de sistemas dinámicos, etc.)

6
Conf. # 1 Introducción al curso.

Profesionales de todo el mundo confían en MATLAB para acelerar su


investigación, reducir el tiempo invertido en el análisis y desarrollo y
reducir costos del proyecto, además de generar soluciones efectivas. El
entorno MATLAB estimula la creatividad y permite comprobar y
comparar rápidamente múltiples alternativas, permitiendo así la
obtención de mejores soluciones.

Los usos más típicos incluyen: Asignaturas de la carrera


 Fundamentos de las
 Matemáticas y computación. Comunicaciones I, II y III
 Herramientas de simulación
 Desarrollo de algoritmos.  PDS I y II
 PDVI
 Modelado, simulación y prototipado.

 Análisis de datos, exploración y visualización.

 Gráficos científicos y de ingeniería.


7
 Desarrollo de aplicaciones.
Conf. # 1 Introducción al curso. Entorno de trabajo.

1. Inicio del programa


Se debe iniciar desde el menú inicio del sistema operativo/
programas/ Matlab o bien desde el ícono de acceso directo
presente en el escritorio de Windows.

2. Pantalla inicial
La siguiente figura corresponde a la ventana de inicio del
programa.
8
Conf. # 1 Introducción al curso. Entorno de trabajo.

Entorno de MATLAB

9
Conf. # 1 Introducción al curso. Entorno de trabajo.

• Ventana de comandos (Comand Window).


Es la ventana sobre la que se introducen todos los comandos.
El prompt (aviso) característico (>>), que indica que el
programa está preparado para recibir instrucciones. Las
órdenes (comandos o datos) se introducen escribiéndolas una
a una a continuación del prompt (>>) y luego se presiona
“Intro” para que las ejecute.

• Espacio de trabajo (Workspace).


Ventana donde aparece información sobre los elementos que
se han creado. Contiene el conjunto de variables y funciones
que en un determinado momento se hayan definido. Es la
“memoria” visible del programa. 10
Conf. # 1 Introducción al curso. Entorno de trabajo.

• Historial de comandos (Comand History).


En esta ventana se pueden ver todos los comandos
introducidos. Estos comandos se pueden volver a ejecutar
haciendo doble clic sobre ellos. Para editar uno de estos
comandos hay que copiarlo antes a la ventana de
comandos.

• Directorio Actual (Current Directory).


En esta ventana se muestran los ficheros del directorio
activo o actual, donde están todos los ficheros *.m de los
programas que se ejecutan. Este directorio se puede
cambiar desde esta misma ventana con el procedimiento
característico de Windows.
11
Conf. # 1 Introducción al curso. Entorno de trabajo.

• Editor de archivos-M.
Otra herramienta que presenta Matlab es el Editor de archivos
M (scripts). Qué es un scripts?
Para crear un archivo nuevo o abrir un archivo existente
desde Matlab solo se debe hacer un clic en el ícono
correspondiente según se indica en la figura.

12
Conf. # 1 Introducción al curso. Entorno de trabajo.

• Editor de archivos-M.
Al crear un archivo nuevo o abrir un archivo existente, se
trabajará en una nueva ventana. La siguiente imagen es una
pantalla típica del editor de archivos de Matlab.

13
Conf. # 1 Introducción al curso. Entorno de trabajo.

Para trabajar con el editor se utilizan los comandos


tradicionales de manejo de archivos
(Archivo nuevo – Abrir archivo – Guardar archivo, etc.)

El nombre del archivo puede formarse por caracteres


alfanuméricos, sin embargo se debe tener en cuenta que:
 El nombre de archivo NO puede empezar con un
número.
 El nombre de archivo NO puede tener espacios ni
caracteres especiales.
 El nombre de archivo NO puede coincidir con el nombre
de ninguna de las variables definidas en el script.
 Se recomienda poner nombres cortos.

14
Conf. # 1 Introducción al curso. Declaración de variables.

Declaración de variables
Matlab tiene como estructura básica de almacenamiento de
datos y/o resultados a una estructura de tipo matricial (arrays).
Esos elementos pueden ser números (Reales o complejos) ó
cadenas de texto (strings).
Dependiendo del tamaño de la matriz es posible manejar:
Escalares (matriz 1x1)
Vectores (matriz de 1xn – vector fila, ó matriz de nx1 –
vector columna)
Matrices propiamente dichas (nxm).
Para asignarle un valor a una variable es necesario escribir el
nombre de la variable seguido del signo igual y el valor que le
corresponden. Por ejemplo:
15
>>A=0.5
Conf. # 1 Introducción al curso. Declaración de variables.

Declaración de variables
 Sensibilidad al tipo de letra. Matlab hace distinción entre
mayúsculas y minúsculas. Es decir que, por ejemplo, la
variable “Factor” será diferente a la variable “factor” y a la
variable “FACTOR”.
 Las variables pueden contener hasta 31 caracteres.
 Las variables deben empezar con un caracter que sea una
letra, que puede estar seguida de números. No puede
contener espacios ni caracteres especiales.
 Los caracteres de puntuación no son permitidos.
 Cuando no se asigna ningún nombre a la variable, Matlab
utiliza el nombre por defecto “ans”.
16
Conf. # 1 Introducción al curso. Declaración de variables.

Formatos de salida: Por defecto Matlab asume el


formato corto pero se puede elegir entre los siguientes
formatos.
Formato de Descripción Ejemplo: 10π
salida
format long 14 cifras significativas. 31.41592653589793
format short 4 cifras significativas. 31.4159
format long e Notación exponencial. 3.141592653589793
e+001
format short e Notación exponencial. 3.1416e+001
format hex Notación hexadecimal. 403f6a7a2955385e

17
Conf. # 1 Introducción al curso. Declaración de variables.

Formatos de salida

Formato de Descripción Ejemplo


salida 10π
format bank 2 cifras decimales. 31.42
format rat Expresa los números racionales
como cocientes de enteros
format + Visualiza el signo del número. 3550/113

18
Conf. # 1 Introducción al curso. Declaración de variables.

Variables predefinidas en Matlab

i (-1)½
pi 
inf Se trata de infinito y se puede definir como
1/0.
NaN (Non A Number) resulta de operaciones no
definidas matemáticamente tales como:
inf/inf, 0/0, etc.
rand genera números aleatorios [0 1]

19
Conf. # 1 Introducción al curso. Declaración de variables.

Comandos básicos para el manejo de variables


demo Corre el programa de demostración
workspace Brinda información sobre el espacio de
trabajo
who Lista todas las variables en uso
whos Lista todas las variables en uso y su
dimensión
rand Lista todos los ficheros .m, .mat y .mex
existentes en el disco
clear Limpia el espacio de trabajo, elimina todas
las variables
clear X, Y, Z Elimina las variables x, y, z
Limpia la pantalla gráfica 20
Conf. # 1 Introducción al curso. Declaración de variables.

Comandos básicos para el manejo de variables


clf Limpia la pantalla gráfica
clc Limpia la pantalla de texto
shg Muestra la pantalla gráfica
exit, quit Retornan al SO
clock Muestra un vector fila de 6 elementos: año, mes,
día, hora, min., seg.
computer Tipo de computadora con la que se está
trabajando
date Informa la fecha actual
pwd Muestra el camino del directorio actual de trabajo
load Ejecuta el fichero
21
help Ayuda del Matlab
Conf. # 1 Introducción al curso. Manejo de matrices y vectores.

Operaciones con matrices


MATLAB determina el número de filas y de columnas en
función del número de elementos que se proporcionan (o se
utilizan).
Las matrices se definen por filas; los elementos de una
misma fila están separados por blancos o comas, mientras
que las filas están separadas por pulsaciones intro o por
caracteres punto y coma (;).
Existen tres formas de entrada de matrices por teclado:
A = [ 1 2 3; 4 5 6; 7 8 9]
A = [ 1, 2, 3; 4, 5, 6; 7, 8, 9]
A=[123
456
7 8 9]
22
Conf. # 1 Introducción al curso. Manejo de matrices y vectores.

Se puede referir a un elemento de la matriz A, por ejemplo,


A(i, j). Se trata del elemento de la fila i y la columna j.

Grandes matrices pueden construirse a base de pequeñas:


M = [A; 10 11 12]
Pequeñas matrices pueden extraerse de grandes:
B = A(1: 3, 1: 2) Produce una matriz de la fila 1 a la fila 3 y
de la columna 1 a la columna 2 de A.
C = A(2, :) extrae la segunda fila de A.
D = A(: , 3:5) extrae las columnas 3ra, 4ta y 5ta de A.
E = A (1:2, 2:4) produce una matriz
v = A (1:2, 2) produce un vector B = 2 23
Conf. # 1 Introducción al curso. Manejo de matrices y vectores.

P = A (1:3, :)
K = A (:)
Los vectores pueden ser vectores fila o vectores columna:
Vectores fila; los elementos de una misma fila están
separados por blancos o comas:
>> v =[2 3 4]
Vectores columna: los elementos de una misma columna
están separados por intro o por caracteres punto y coma (;):
>> w =[2;3;4;7;9;8]

24
Conf. # 1 Introducción al curso. Manejo de matrices y vectores.

Generación de matrices y vectores utilizando comandos y


operadores específicos.
 Utilizando el comando linspace
El comando linspace se utiliza para crear un vector con n
elementos igualmente espaciados desde un valor inicial a un
valor final, si se omite n toma 100 por defecto; el
incremento es k=(b-a)/(n-1) La sintaxis general es:
x=linspace(valor inicial a, valor final b, cantidad de
elementos del vector)
 Utilizando el operador (:)
Genera un vector con los elementos desde m hasta p con un
incremento i. i puede ser negativo. Si el incremento no se
especifica se asume uno. La sintaxis general es:
y = valor inicial : incremento : valor final 25
Conf. # 1 Introducción al curso. Manejo de matrices y vectores.

 Utilizando el comando zeros. Todos los elementos son


iguales a cero (0).
A=zeros(1,n) % Vector fila de n elementos.
A=zeros(n,1) % Vector columna de n elementos.
A=zeros(n) % Matriz cuadrada de tamaño nxn.
A=zeros(n,m) % Matriz rectangular de tamaño nxm.
 Utilizando el comando ones. Todos los elementos son
iguales a uno (1).
A=ones(1,n) % Vector fila de n elementos.
A=ones(n,1) % Vector columna de n elementos.
A=ones(n) % Matriz cuadrada de tamaño nxn.
A=ones(n,m) % Matriz rectangular de tamaño nxm.
26
Conf. # 1 Introducción al curso. Manejo de matrices y vectores.

 Utilizando el comando eye. Todos los elementos de la


diagonal principal son iguales a uno (1), el resto es igual a
cero (0).
A=eye(n) %Matriz cuadrada de tamaño nxn.
A=eye(n,m) %Matriz rectangular de tamaño nxm.

 Utilizando el comando magic.


Matriz cuadrada de tamaño nxn, de números enteros
mayores a 1 y menores o iguales a N^2. La suma de
los elementos de la diagonal, cada fila y cada
columna son iguales excepto cuando N=2.

27
Conf. # 1 Introducción al curso. Manejo de matrices y vectores.

 Utilizando el comando rand. El comando rand genera una


matriz de números aleatorios uniformemente distribuidos
entre 0 y 1.
A=rand(1,n) Vector fila de n elementos.
A=rand(n,1) Vector columna de n elementos.
A=rand(n) Matriz cuadrada de tamaño nxn.
A=rand(n,m) Matriz rectangular de tamaño nxm.

 Utilizando el comando randn. El comando randn genera


una matriz de números aleatorios con una distribución
normal (media=0, desvío estándar=1)

28
Conf. # 1 Introducción al curso. Manejo de matrices y vectores.

Determinación del tamaño de matrices y


vectores.
Los comandos size y length se utilizan para determinar el
tamaño de matrices y vectores. La diferencia reside en que el
comando size devuelve el número de filas y columnas de
una matriz y/o vector, mientras que el comando length
devuelve la dimensión mayor.
Es práctica común utilizar el comando length para
dimensionar vectores y el comando size para dimensionar
matrices.

29
Conf. # 1 Introducción al curso. Operaciones con matrices y vectores.

Operaciones con escalares:


v---vector
v+k adición o suma k---escalar

v-k sustracción o resta


v*k multiplicación
v/k divide por k cada elemento de v
k./v divide k por cada elemento de v
v.^k potenciación cada componente de v esta elevado a k
k.^v potenciación k elevado cada componente de v

30
Conf. # 1 Introducción al curso. Operaciones con matrices y vectores.

Operaciones entre vectores:


v+w adición o suma
v-w sustracción o resta
v.*w multiplicación cada elemento de v por el correspondiente
de w
v./w divide cada elemento de v por el correspondiente de w
v.^w potenciación cada componente de v esta elevado al
correspondiente de w
Producto escalar de vectores v*w calcula el producto escalar
de v por w
31
Conf. # 1 Introducción al curso. Operaciones con matrices y vectores.

Funciones de matlab específicas para vectores:

sum(v) suma
prod(v) producto
v' transposición de vectores (filas  columnas)
dot(v,w) producto escalar de vectores
cross(v,w) producto vectorial de vectores
[y,k]=max(v) valor máximo de las componentes de un vector k
indica la posición, lo mismo para min(v) valor mínimo

32
Conf. # 1 Introducción al curso. Operaciones con matrices y vectores.

Para definir una matriz no hace falta establecer de antemano su


tamaño (de hecho, se puede definir un tamaño y cambiarlo
posteriormente).
MATLAB determina el número de filas y de columnas en
función del número de elementos que se proporcionan (o se
utilizan). Las matrices se definen por filas; los elementos de
una misma fila están separados por blancos o comas, mientras
que las filas están separadas por pulsaciones intro o por
caracteres punto y coma (;).
Por ejemplo, el siguiente comando define una matriz A de
dimensión (3x3):
» A=[1 2 3; 4 5 6; 7 8 9]

33
Conf. # 1 Introducción al curso. Operaciones con matrices y vectores.

matriz traspuesta: En MATLAB el apóstrofo (') es el símbolo de


trasposición matricial.

matriz inversa: la inversa de A se calcula con la función inv( )


B=inv(A).

diag(A) Obtencion de la diagonal de una matriz.


sum(diag(A)) calcula la traza de la matriz A
diag(A,k) busca la k-ésima diagonal.

norm(A) norma de una matriz, calcula el máximo de los valores


absolutos de los elementos de A

34
Conf. # 1 Introducción al curso. Operaciones con matrices y vectores.

 En MATLAB se accede a los elementos de un vector poniendo


el índice entre paréntesis (por ejemplo x(3) ó x(i)).

 Los elementos de las matrices se acceden poniendo los dos


índices entre paréntesis, separados por una coma (por ejemplo
A(1,2) ó A(i,j)).

 Las matrices se almacenan por columnas (aunque se


introduzcan por filas, como se ha dicho antes), y teniendo en
cuenta esto puede accederse a cualquier elemento de una
matriz con un sólo subíndice. Por ejemplo, si A es una matriz
(3x3) se obtiene el mismo valor escribiendo A(1,2) que
escribiendo A(4).

35
Conf. # 1 Introducción al curso. Operaciones con matrices y vectores.

Los operadores matriciales de MATLAB son los siguientes:

+ adición o suma
– sustracción o resta
* multiplicación
' adjunta (transpuesta o transpuesta conjugada)
^ potenciación
\ división-izquierda
/ división-derecha
.* producto elemento a elemento
./ y .\ división elemento a elemento
.^ elevar a una potencia elemento a elemento

36
Conf. # 1 Introducción al curso. Operaciones con matrices y vectores.

Desde la versión 5 de matlab se admiten variables subindicadas


multidimensionalmente
a=ones(2,2,3)
a(:,:,1)= 1 1 a(:,:,2)= 1 1 a(:,:,3)= 1 1
11 11 11
Matrices dispersas o huecas son aquellas que tienen gran cantidad
de elementos nulos
>> a= sparse(i,j,c,m,n)
m indica filas, n columnas, c vector que contiene los elementos
no nulos i,j son dos vectores que indican la posición de cada
elemento de c para visualizar la matriz entera
>>full(a)
[i2,j2,c2]=find(a)
37
Conf. # 1 Introducción al curso. Operaciones con matrices y vectores.

Ejemplo1: Tomemos la siguiente matriz

 12 4 0 0 0 
 
 7 3 0 0 8 
 0 0 0 0 0 
 
 0 0  13 11 0 
 
 0 0 2 7 4 

Y trabajemos con ella como una matriz dispersa, para ello


definimos el vector de elementos no nulos (m), el vector
definido por las filas (f) y el vector definido por las columnas
(c).

38
Conf. # 1 Introducción al curso. Operaciones con matrices y vectores.

m=[12,-4,7,3,-8,-13,11,2,7,-4];
f=[1,1,2,2,2,4,4,5,5,5];
c=[1,2,1,2,5,3,4,3,4,5];
a=sparse(f,c,m,5,5)
full(a)
m1=[12,7,-4,3,-13,2,11,7,-8,-4];
f1=[1,2,1,2,4,5,4,5,2,5];
c1=[1,1,2,2,3,3,4,4,5,5];
b=sparse(f1,c1,m1,5,5];
full(b)
a=sparse(f,c,m)
s=a+b
p=a*b
[f2,c2,m2]=find(p)
e=full(sparse(f2,c2,m2))
39
Conf. # 1 Introducción al curso. Operaciones con matrices y vectores.

Ejercicios
1.Crear un vector r, de 10 elementos igualmente espaciados
entre -1.7 y 8.3, se desea:
a)Crear un escalar v1 con el 3º elemento del vector r.
b)Crear un vector v2 con los elementos de la posición 2 a la
5 del vector r.
c)Crear un vector v3 con los elementos de las posiciones 10,
8, 6, 4 del vector r.
d)Crear un vector v4 con los elementos de las posiciones 8,
9, 1, 3 y 7 del vector r.
e)Crear un vector fila v5 con los elementos de los vectores
v2 y v3.
f)Crear un vector columna v6 con los elementos de los
vectores v1 y v4.
40
Conf. # 1 Introducción al curso. Operaciones con matrices y vectores.

41
Conf. # 1 Introducción al curso. Operaciones con matrices y vectores.

42

S-ar putea să vă placă și