Escolar Documentos
Profissional Documentos
Cultura Documentos
Introducción.
En esta práctica se aprenderá a introducir y editar matrices en MATLAB. Se exper-
imentará con algunas funciones de construcción de matrices incorporadas en MATLAB.
Se aprenderá a construir matrices a partir de vectores y bloques de matrices.
Prerrequisitos: ninguno.
1. Entrada de matrices.
La entrada de matrices enMATLABes fácil. Escrı́base lo siguiente en el indicador de MAT-
LAB.
>> A=[1,2,3;4,5,6;7,8,9]
Obsérvese cómo los sı́mbolos de punto y coma indican el final de la fila, mientras que las
comas se usan para separar las entradas en la fila. Se pueden usar también espacios para
delimitar las entradas de cada fila.
Matrices especiales.
MATLAB tiene una serie de rutinas incorporadas para crear matrices.1 Es posible crear
una matriz de ceros de cualquier tamaño.
>> A=zeros(5)
>> B=zeros(3,5)
Es fácil crear una matriz de ceros con el mismo tamaño que una dada.
>> C=magic(5)
>> D=zeros(size(C))
>> A=ones(6)
>> B=ones(2,10)
>> C=hilb(5)
>> D=ones(size(C))
>> A=rand(6)
>> B=rand(5,3)
>> C=10*rand(5)
>> D=floor(C)
>> D=ceil(C)
>> D=round(C)
>> D=fix(C)
>> I=eye(5)
>> E=diag([1,2,3,4,5])
>> F=diag([1,2,3,4,5],-1)
>> G=diag(1:5,1)
Trasposición.
El operador de trasposición, que es ’ (comilla simple), tiene el mismo efecto que sobre
vectores. Se intercambian filas y columnas.
Elimina la salida.
Recuérdese que finalizando un comando deMATLABcon punto y coma se elimina la salida.
Es útil cuando el resultado es grande y se desea ocultarlo.
>> K=rand(100);
>> whos
Obsérvese que aparece el tamaño de cada una de las variables. Por supuesto, se puede
obtener el tamaño de la matriz I con
>> size(I)
2. Indexado de matrices.
La siguiente notación es la que se usa para representar una matriz con 3 filas y 3
columnas.
a11 a12 a13
A = a21 a22 a23 ,
a31 a32 a33
o en forma reducida A = (aij ) ∈ M3 (k), donde k es cuerpo (por ejemplo, k = R o k = C.
El sı́mbolo aij se refiere a la entrada situada en la fila i y columna j.MATLABusa una
notación similar para representar los elementos de una matriz.
>> A=pascal(5)
>> A(1,2)
>> A(3,4)
>> A(3,3)=11111
>> A=magic(6)
>> A([1,2],[3,4,5])
>> A([1,3,5],[1,2,3,4,5,6])
produce una submatriz con las filas 1, 3 y 5 de la matriz A. Si se recuerda que la notación
1:6 representa al vector [1,2,3,4,5,6] y que la notación 1:2:6 representa al vector
[1,3,5], se tiene que A([1:2:6],[1:6]) es equivalente a A([1,3,5],[1,2,3,4,5,6]).
>> A([1:2:6],[1:6])
Si se usa el sı́mbolo dos puntos en lugar de subı́ndices, se indica todo el rango. Ası́,
>> A(:,1)
>> A(3,:)
genera la tercera fila de la matriz A. En cierto sentido, la notación A(3,:) se puede leer
como “Tercera fila, todas las columnas.” El comando
>> A(1:3,:)
produce una submatriz compuesta de las tres primeras filas de la matriz A. El comando
>> A(:,1:2:6)
3. Construcción de matrices.
ConMATLABse pueden crear matrices más complejas a partir de otras matrices y vectores.
Construcción de matrices con vectores.
Créense tres vectores fila con los comandos
>> v1=1:3
>> v2=4:6
>> v3=7:9
PRÁCTICA 2: MATRICES Y MATLAB 5
El comando
>> M=[v1;v2;v3]
construye una matriz con los vectores v1, v2 y v3, cada uno formando una fila de la
matriz M . El comando
>> N=[v1,v2,v3]
>> v1=v1’
>> v2=v2’
>> v3=v3’
El comando
>> P=[v1,v2,v3]
construye una matriz con los vectores v1,v2,v3 como columnas de la matriz P . Se puede
obtener el mismo resultado con la transpuesta de la matriz M .
>> P=M’
Téngase en cuenta que las dimensiones deben coincidir: cuando se construyen ma-
trices, hay que asegurarse que cada fila y columna tengan el mismo número de elementos.
Por ejemplo, la siguiente secuencia de comandos producirá un error.
>> w1=1:3;w2=4:6;w3=7:10;
>> Q=[w1;w2;w3]
>> A=[1,2,3,4;5,6,7,8;9,10,11,12]
>> b=[1,1,1]’
>> M=[A,b]
es válido, pero
6 JESÚS GAGO E IGNACIO OJEDA
>> M=[A;b]
>> c=[1,1,1,1]
>> M=[A;c]
>> A=magic(3),B=ones(3,4)
>> M=[A,B]
es válido, pero
>> N=[A;B]
>> C=[1,2,3;4,5,6]
>> P=[A;C]
La imaginación es el lı́mite.
Las capacidades de construir matrices deMATLABson muy flexibles. Considérese el si-
guiente ejemplo.
>> A=zeros(3),B=ones(3),C=2*ones(3),D=3*ones(3)
>> M=[A,B;C,D]
>> x=[1,2,3,4,5]’
>> N=[ones(size(x)),x,x.^2,x.^3,x.^4]
>> B=zeros(8)
>> B(1:3,1:3)=[1,2,3;4,5,6;7,8,9]
>> B(4:8,4:8)=magic(5)
PRÁCTICA 2: MATRICES Y MATLAB 7
Ejercicios.
Introduce el disco con tu nombre en la disquetera del ordenador.
Escribe
Ejercicio 2.1. Escribe los comandos deMATLABque generan las siguientes matrices.
1 1 3 0
1. −3 −1 6 8 .
4 4 10 −7
10 5 −6
−5 −8 −4
2.
−5 −10
.
3
8 8 −5
Ejercicio 2.2. Escribe un solo comando que cree una matriz 3 × 5 con cada entrada igual
a −3.
Ejercicio 2.3. Crea una matriz de Hilbert con los siguientes comandos.