Académique Documents
Professionnel Documents
Culture Documents
2 Objetivos
Al finalizar esta practica se deberan haber adquirido conocimientos sobre los siguientes temas de programacion
en MATLAB:
Estructuras de datos en MATLAB
3 Introduccion
MATLAB trabaja esencialmente con matrices de numeros reales o complejos como estructura de datos principal.
Las matrices 1 1 son interpretadas como escalares y las matrices fila o columna como vectores. Por defecto
todas las variables son matriciales y nos podemos referir a un elemento con dos ndices o con uno en caso de
vectores.
>> w = [4 5 6];
El operador es el de trasposicion:
>> w0
ans =
4
5
6
1
Si queremos declarar un vector de elementos equiespaciados entre dos extremos, por ejemplo, que el primero
valga 0, el ultimo 20 y la distancia entre elementos sea 2, basta poner:
>> vect1 = 0 : 2 : 20
vect1 =
0 2 4 6 8 10 12 14 16 18 20
Equivalentemente, si lo que conocemos del vector es que la primera coordenada vale 0, la ultima 20 y que tiene
11 en total, escribiremos:
A los elementos de un vector se accede sin mas que escribir el nombre del vector y, entre parentesis, su ndice:
>> vect2(3)
ans =
4
>> vect2(2 : 5)
ans=
2468
>> vect1(: 5)
ans=
0
2
4
6
8
>> vect1(5 :)
ans=
10
12
14
16
18
20
Las matrices se escriben como los vectores, pero separando las filas mediante un punto y coma; as una matriz
3x3:
>> M = [1 2 3; 4 5 6; 7 8 9]
M=
123
456
2
789
A los elementos de una matriz se accede escribiendo el nombre de la matriz y, entre parentesis, los respectivos
ndices:
>> mat(2 : 3, [1 3]) % Submatriz formada por los elementos que estan en
% todas las filas que hay entre la segunda y la tercera y
% en las columnas primera y tercera
3
ans =
46
01
la matriz nula,
>> zeros(3)
ans =
000
000
000
>> ones(4)
ans =
1111
1111
1111
1111
El argumento enviado a las 3 funciones anteriores (el numero entre parentesis) especificaba las dimensiones de
la matriz a generar. Se puede conocer el tamano de una matriz y la longitud de un vector mediante:
>> size(v)
ans =
13
Existen comandos que permiten crear de forma sencilla matrices. Por ejemplo:
4
100
020
003
Las funciones matematicas elementales estan definidas de forma que se pueden aplicar sobre un vector. El
resultado es el vector formado por la aplicacion de la funcion a cada elemento del vector. As:
>> log(v)
ans =
0 0.6931 1.0986
>> x = sin(p)
x=
Columns 1 through 7
0 0.3090 0.5878 0.8090 0.9511 1.0000 0.9511
Columns 8 through 11
0.8090 0.5878 0.3090 0.0000
Las operaciones habituales entre vectores (suma, resta y producto escalar de vectores; suma, resta, producto y
potencia de matrices) se representan con los operadores habituales:
5
v=
123
w=
456
Tambien pueden efectuarse multiplicaciones, divisiones y potencias de arrays, entendiendolas como elemento a
elemento (como, de hecho, se realizan la suma y la resta). El operador utilizado para ellas es el habitual
precedido por un punto; es decir:
>> v. w % Vector formado por los productos de los respectivas elementos: % ans(i)=v(i)*w(i)
ans =
4 10 18
>> w./v % Vector formado por el cociente de cada elementos de w entre el elemento correspondiente de v:
ans =
4.0000 2.5000 2.0000
6
149
16 25 36
001
>> det(mat)
ans =
-3
y resolverse sistemas de ecuaciones lineales del estilo Ax = b. Por ejemplo si generamos la siguiente matriz A y
el vector columna b:
>> A = [2 1 1; 1 1 0; 0 1 3]
A=
2 -1 1
110
0 1 -3
>> b = [3 3 7]0
b=
3
3
-7
una forma de resolver este sistema de ecuaciones lineales seria utilizar la formula x = A1 b:
>> x = inv(A) b
x=
1
2
3
>> Ab = [A b]
Ab =
2 -1 1 3
1103
0 1 -3 -7
7
5 Ejercicios
5.1 Ejercicio 1
Resolver
el siguiente
sistema
utilizando
dos procedimientos distintos y comprobar que sale la misma solucion:
1 1 0 3 x1 4
2 1 1 1 x2 1
3 1 1 2 x3 = 3
1 2 3 1 x4 4
5.2 Ejercicio 2
1 2
Dados dos vectores fila v y w, v =2 w = 2
3 1
explicar cual es la diferencia entre realizar estas operaciones en matlab:
>> v 0 w
>> v. w
5.3 Ejercicio 3
Realizad las siguientes tareas (utilizad el comando help si fuera necesario):
1. Definid la matriz/vector columna
2
3
5
mediante dos notaciones diferentes: una que use , para separar los elementos, y otra que emplee ;
2. Construid una matriz de dimension 4 x 3 con 0 en todas las posiciones.
3. Construid una matriz de dimension 3 x 2 con 1 en todas las posiciones.
4. Construid una matriz de dimension 5 x 5 con 1 en la diagonal y ceros fuera de ella.
5. Construid una matriz de dimension 3 x 5 con numeros aleatorios entre 0 y 1 siguiendo una distribucion
uniforme.
6. Construid una matriz de dimension 3 x 5 con numeros aleatorios de media 0 y desviacion tpica 1 siguiendo
una distribucion normal.
5.4 Ejercicio 4
Dada la matriz A:
1 2 3
1 4 2
1 2 1
1. Introducid los datos de la matriz A en una variable con el mismo nombre
2. Obtened la matriz transpuesta de A y guardarla en una variable A t.
8
3. Hallad la inversa de la matriz A, y asignad el resultado a una variable A inv.
4. Calculad el determinante de la matriz A, y almacenarla en una variable A det.
5. Realizad las siguientes operaciones matriciales, e interpretad los resultados en cada caso:
A*A A.*A A2 A.2 A/A A./A
6. Anadid una columna compuesta por 1, 4 y 8 al final de la matriz A, y guardad la matriz resultante en
una variable B.
6 Material a entregar
La practica se debe entregar de forma electronica Y por escrito antes de la fecha de finalizacion indicada al
comienzo del enunciado en el laboratorio 208 de la escuela politecnica o bien durante la practica correspondiente
a la fecha limite de entrega. No se admitiran practicas con retraso. En general, las practicas tienen fecha lmite
un viernes y por lo tanto pueden entregarse hasta la hora de la clase de la fecha limite.
Se enviara un unico fichero zip a traves del sistema de entrega de practicas de la Escuela Politecnica Superior,
para el periodo: SEGUNDO CUATRIMESTRE, la categora: TITULACION INGENIERIA TECNICA
INDUSTRIAL y el nombre de la asignatura: INFORMATICA APLICADA.
http://docenciaweb.ii.uam.es/esp/alumnos/practicas/envio_practicas.php
La pagina para el envio de practicas tiene una proteccion para que ninguna persona que no tenga relacion con
la Escuela Politecnica pueda acceder a la misma. En la ventana de autentificacion donde se tiene que introducir
un login y una password, los valores a introducir son: practicas y entrega.
El nombre del fichero sera PN X YY.zip, donde N se debera reemplazar por el numero de practica (2,3,4
o 5), X se debera reemplazar por el grupo de practicas (A o B) e YY por el numero de pareja. As por
ejemplo, la pareja 1 del grupo A debera enviar su practica 2 en el fichero P2 A 01.zip. El numero de grupo lo
podreis encontrar en la pagina web de las practicas de la asignatura en el enlace Tabla de Excel con las notas
de practicas de los grupos A y B, es el numero a la izquierda de los nombres de los componentes de la pareja.
El fichero Excel lo podeis encontrar en la pagina de practicas de la asignatura en:
http://arantxa.ii.uam.es/~drozado/fund_info.html
No se admitiran practicas con retraso. En general, las practicas tienen fecha lmite un viernes y por lo tanto
pueden entregarse hasta la hora de la clase de la fecha limite.