Práctica 1
Práctica 1
Práctica 1
Prácticas de Matlab
Práctica 1
1. Introducción
Matlab es el nombre abreviado de “MATrix LABoratory” . Matlab es un programa
pensado para realizar cálculos numéricos con vectores y matrices. Como caso particular
puede trabajar con números escalaras, tanto reales como complejos. Una de las capaci-
dades más atractivas es la facilidad para la representación de grá…cos, así como, la variedad
tanto en dos como en tres dimensiones. Además MATLAB tiene un lenguaje propio de
programación.
vector=[a; b; c; d; ...; m]
vector=[a
b
c
d
...
m]
1
En resumen, las comas o espacios separan elementos de un vector …la, mientras que
el punto y coma o el cambio de línea separa las …las. MATLAB indica un error cuando
las …las tienen diferente número de elementos.
Matriz= [a11 ; a12 ; :::; a1n ; a21 ; a22 ; :::; a2n ; :::; am1 ; am2 ; :::; amn ]
Matriz=[a11 ; a12 ; :::; a1n
a21 ; a22 ; :::; a2n
...
am1 ; am2 ; :::; amn ]
2
Ejercicio 1 Introducir los siguientes matrices y vectores:
0 1
3
B4C
B C
x = (1 2 3 0 6); y = B
B1C
C
@2A
7
0 1 0 1
1224 122
A = @2 2 1 2A ; D = @2 5 1A
0104 018
Ejercicio 2 Calcular, cuando sea posible, las siguientes operaciones:
1. AD; x + y t ; x + y; At D 1 :
2. Teclear clc. ¿Cuál es el resultado?
3. Ejecutar los siguientes comandos
C =A+2
C = A + 2;
3
Ejercicio 3 Realizar las siguientes operaciones:
1. Obtener un vector …la igual a la segunda …la de la matriz A;
2. Seleccionar del la matriz D la submatriz de orden 2 2 contenida en las dos primeras
…las y dos primeras columnas y asignársela a la matriz E.
4
4. Las funciones en MATLAB
Vamos a ver cómo se puede trabajar con funciones en MATLAB.
sec=secante
csc=cosecante
Funciones exponenciales:
exp(Z): Función exponencial de base e
log(Z): Función logaritmo neperiano
sqrt(Z): Función raíz cuadrada
log10(Z): Función logaritmo decimal
Constantes especiales
pi : pnúmero
i= 1
a + bi : Número complejo con parte real a y parte compleja b
Polinomios
5
Para representar un polinomio en Matlab es su…ciente con introducir sus coe…cientes
en un vector …la. Por ejemplo, si p (x) = x3 + x + 1, pondremos
p = [1; 0; 1; 1]:
Los comandos más utilizados para el manejo de polinomios son los siguientes:
polyval(p,x): Valor de p en x
roots(p): Cálculo de las raíces
z1 z1 jz2 j Re(z1 ):
o simplemente
f = inline(0 f uncion0 ):
Por ejemplo, para crear la función f (t; x) = t2 + x3 pondremos
o
f = inline(0 t^2 + x^30 ):
Cuando hay más de una variable es más conveniente el primer método, ya que así …jamos
nosotros el orden de las variables en la función.
Una vez de…nida la función podemos calcular el valor de la función en cualquier punto
al igual que con las funciones prede…nidas en MATLAB.
6
1
Ejercicio 7 De…nir la función f (x; y; z) = x2 +z
y 3 y calcular f (1; 3; 9) :
También podemos de…nir nuestra función de forma que se aplique a un vector o función
2
punto a punto. Por ejemplo, la función g (t) = et se puede de…nir como
g = inline(0 exp(t:^2)0 );
Ejercicio 8 De…nir un vector t compuesto de todos los puntos desde 1 hasta 2 equiespa-
ciados y separados por una distancia de 0.1 unidades. Calcular el valor de g (t).
f = @(x; y) x^2 y;
o bien
f = @(x; y) x:^2: y;
si queremos calcular el valor de vectores.
Vamos a imaginar ahora que queremos que la función depende de un parámetro a. Por
ejemplo, f (x; y) = ax2 y. En primer lugar debemos asignar el valor de a, por ejemplo,
a = 2:
f = @(x; y) a x^2 y:
Si ponemos
f (2; 3)
el resultado que nos da es
24:
Si cambiamos el valor de a debemos de…nir de nuevo la función. Si no, la función seguirá
utilizando el valor antiguo de a:
7
5. Grá…cos
Matlab produce grá…cos de dos y tres dimensiones, así como contornos y grá…cos de
densidad. Se pueden representar los grá…cos y listar los datos, permite el control de colores,
sombreados y otras características de los grá…cos. Los grá…cos producidos por Matlab son
portables a otros programas.
Veamos los comandos de representación más usuales.
Para representar grá…camente una función utilizaremos el siguiente comando:
x = a : paso : b:
y = x:^2:
Notemos también que las funciones estándar de MATLAB (cos, sin, exp, log, etc.)
funcionan tanto con escalares como con vectores.
3. plot(x,y).
Es importante terminar los dos primeros comandos con ; para evitar que nos muestre
en pantalla los elementos de los vectores.
Algunos de los valores posibles de colores y caracteres son, respectivamente, los sigu-
ientes:
Colores
y amarillo m magenta r rojo c cyan
g verde b azul w blanco k negro
8
Caracteres
línea
. puntos x x-marcas + signo más * estrellas --
discontinua
o círculos - sólidos : líneas a puntos -. Guiones y puntos
9
Los comandos title, axis, etc. hay que ponerlos después de realizada la grá…ca con el
comando plot, y no antes, a menos que esté activada la opción hold on:
Otra forma de representar grá…camente una función es usando el comando ezplot. La
sintaxis es:
ezplot(0 f (x)0 ; [x1 ; x2 ]):
4. Añadir los nombres a los ejes con los comandos xlabel e ylabel.
5. Escribir text( 2; 12;0 e^f xg0 ), text(2; 12;0 e^fxg0 ):¿Qué ocurre?
Es importante utilizar los comandos vistos anteriormente (hold on, axis, etc. después
de cada comando subplot, y no antes. Además, estos comandos habrá que usarlos cada
vez que cambiemos a una nueva subgrá…ca.
Ejercicio 13 Sin cerrar la ventana anterior, teclear f igure(2) y subplot(1; 3; 1). Dibujar
de nuevo la grá…ca de la función f (x) = e x del ejercicio 12. Poner el título f (x) : ¿Qué
ocurre?
10
También podemos dibujar curvas en el espacio usando el comando plot3.
Ejercicio 16 Para representar en el mismo gra…co que antes (en color rojo y con los ejes
[ 2; 2] [ 2; 2] [0; 15]) la hélice r (t) = (cos (t) ; sen (t) ; t), 0 t 8 , ejecutar los
siguientes comandos:
1. t = 0 : 0.01 : 8 pi;
3. plot3(x; y; z;0 r0 )
4. axis([ 2 2 2 2 0 20])
Es importante recordar que el comando hold on hay que usarlo después de haber
hecho la primera grá…ca. Si lo hacemos antes, se dibujará un grá…co en 2D.
11