Prac 1

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 4

Una introducción a MATLAB

Natalia Boal
Marı́a Luisa Sein-Echaluce
Universidad de Zaragoza

1 Generalidades
MATLAB (MATrix LABoratory) es un paquete interactivo basado en matrices que permite
la realización de cálculos cientı́ficos (aritméticos y simbólicos), es fácil de usar y , en prin-
cipio, no requiere el conocimiento de un lenguaje de programación. Este sistema ofrece
excelentes posibilidades gráficas (en dos y tres dimensiones), tiene gran cantidad de fun-
ciones predefinidas y además permite al usuario crear sus propias funciones de modo que se
aumenta la aplicabilidad del sistema. Destacar también que MATLAB posee unas toolboxes
(que se adquieren por separado) con las que se pueden resolver problemas especı́ficos como,
por ejemplo, procesado de señales, simulación de sistemas dinámicos, redes neuronales, etc.
Otra de las posibilidades que ofrece este programa es la de interaccionar con otros lenguajes
de programación como son C o Fortran.
Antes de empezar a trabajar con MATLAB conviene dar unas indicaciones de carácter
general:

• “>>” es el prompt de MATLAB e indica que está listo para aceptar órdenes.
• Hay que respetar la sintaxis utilizada por el programa y tener en cuenta que MATLAB,
por defecto, distingue entre mayúsculas y minúsculas.
• Para ejecutar una orden basta pulsar la tecla ENTER.
• Una sentencia termina con un retorno de carro. Si ocupa más de una lı́nea se puede
continuar en la siguiente, para ello basta poner tres punto suspensivos (...) y pulsar retorno
de carro.
• Terminar una orden con punto y coma (;) indica que no queremos visualizar en pantalla
el resultado de una expresión.
• Se pueden escribir varias sentencias en la misma lı́nea separadas por una coma o por un
punto y coma.
• >> diary nombre fichero.txt: permite grabar en un fichero texto la sesión de trabajo.
Con diary off y diary on desactivamos y activamos la grabación en el fichero.
• >> help nombre funcion: para consultar cualquier función del programa.
• >> clear: elimina todas las variables no permanentes. Es posible borrar únicamente
algunas de las variables del espacio de trabajo con la orden clear nombre variable.
• >> who: visualiza las variables creadas en la sesión actual de trabajo. (>> whos da una
información más amplia).
• % indica que lo que sigue es un comentario y no se ha de ejecutar.

1
2 Uso de matrices
MATLAB trabaja esencialmente con matrices de números reales o complejos. Las matrices
1×1 las interpreta como escalares y las matrices fila o columna como vectores. A continuación
presentamos unas instrucciones para el manejo básico de matrices.

• Definición de matrices y submatrices

>> A=[1 2 3; 4 5 6] % Los espacios en blanco se pueden sustituir por comas


>> A(1,2) % elemento de la primera fila y segunda columna
>> f1=A(1,:) % la primera fila de A, la primera columna: c1=A(:,1)

Ejercicio. Define una matriz B de tamaño 3×3.


Ejercicio. Define un vector v que sea igual a la tercera fila de B.
Ejercicio. ¿Qué hace?
>> B1=B([1,3],:)
Ejercicio. Ejecuta las sentencias
>> [A;B]
>> [A B]
¿Qué ocurre en cada caso?

• Operaciones con matrices

>> A+B % suma de matrices; la resta serı́a A-B


>> 3*A % producto de la matriz A por el escalar 3
>> A*B % producto de matrices
>> A.*B % producto elemento a elemento.

Nota. Si las operaciones se realizan con matrices de tamaño incompatible se obtiene un


mensaje de error.

Ejercicio. Introduce la matriz


 
1 2 5 7
 
A =  −1 2 1 −2  .
4 6 8 0

Calcula:
a) a13 + a32 ,
b) tres veces la primera columna de A,
c) dos veces la segunda columna más tres veces la cuarta,
d) A.*A y A*A explica cuál es el resultado en cada caso.

2
Ejercicio. Dadas las matrices
     
1 2 3 1 1 Ã ! 1 0 0 0
    1 1 1 1  
A =  4 5 6 , B =  1 2 , C = , D= 0 1 0 0 
2 3 1 2
7 8 9 0 3 0 0 1 0

calcula (si es posible):


a) AB, b) 3A − D, c) B 2 , d) ABC + 2D.

• Funciones matriciales

>> inv(A) % inversa de una matriz regular


>> det(A) % determinante de una matriz cuadrada
>> A’ % traspuesta de A
>> rank(A) % rango de A

Ejercicio. Considera la matriz A del ejercicio anterior y calcula A0 , |A|, rang A. ¿Qué ocurre
si calculamos con MATLAB A−1 ?

• Funciones para construir matrices especiales

>> eye(n) % matriz identidad


>> zeros(m,n) % matriz nula de tamaño m × n
>> ones(m,n) % matriz de unos de tamaño m × n

Ejercicio. Considera las matrices


 
à ! 1 2 −2
2 1
A1 = , A2 =  3 1 1 

.
3 5
0 1 3

a) Construye la matriz diagonal por bloques


à !
A1 O
A= .
O A2

b) Comprueba que A1 y A2 son regulares.


c) Sin hacer ningún cálculo con MATLAB contesta de forma razonada a las siguientes pre-
guntas:

i) ¿La matriz A es regular?

ii) ¿Cuál es su inversa?

d) Utiliza MATLAB para comprobar si has contestado bien a las preguntas anteriores.
e) Comprueba que |A| = |A1 | |A2 |.

3
3 Una aplicación de las matrices
Con frecuencia los gobiernos, las agencias nacionales de seguridad y las empresas se interesan
en la transmisión de mensajes codificados que sean difı́ciles de descifrar por otros, en caso de
ser interceptados, pero que se decodifiquen con facilidad por quienes lo escriben. Hay muchas
formas interesantes de cifrar o codificar un mensaje, y en su mayor parte usan la teorı́a de
números o el álgebra lineal. A continuación describimos uno que es eficaz, en especial cuando
se usa una matriz regular de gran tamaño.
Sea M una matriz regular, sólo conocida por quienes la transmiten y quienes la reciben.
Por ejemplo, µ ¶
−3 4
M =
−1 2
Supongamos que se desea codificar el mensaje

AT AC AR AH ORA

Reemplazamos cada letra por el número que le corresponde a su posición en el alfabeto


(un espacio se representa por 0). Con lo que el mensaje se ha convertido en la sucesión de
números
{1, 21, 1, 3, 1, 19, 0, 1, 8, 16, 19, 1}
que agrupamos de dos en dos para formar los vectores columna
µ ¶ µ ¶ µ ¶ µ ¶ µ ¶ µ ¶
1 1 1 0 8 19
, , , , , .
21 3 19 1 16 1
Multiplicamos esos vectores a izquierda por M y se obtienen unos nuevos vectores columna
que nos dan la siguiente lista de números

{81, 41, 9, 5, 73, 37, 4, 2, 40, 24, −53, −17}

Éste es el mensaje cifrado. Para decodificarlo es necesario hallar la inversa de la matriz M


y multiplicarla por los vectores codificados para obtener los números originales.

Ejercicio. Basado en el método anterior, decodifica el mensaje dado por los números

{−2, −18, 19, 0, −1, 1, −8, −20, 20, −6, −8, 15, 0, −4, 9, 26, 10, −5, 10, 15, −5, 13, −3, 6, −4, 2, 7}

conocida la matriz  
1 0 1
 
M −1 = 0 1 1.
0 1 2

Ejercicio. Dadas A y B matrices de Mn (IK) razona si son ciertas o falsas las siguientes
afirmaciones.

a) (A + B)2 = A2 + 2AB + B 2 .
b) (A + B)(A − B) = A2 − B 2 .
c) Si AX = BX para todo X ∈ Mn×1 (IK) se cumple A = B.

También podría gustarte