PDF de programación - Tutorial de Matlab

Imágen de pdf Tutorial de Matlab

Tutorial de Matlabgráfica de visualizaciones

Actualizado el 25 de Mayo del 2019 (Publicado el 8 de Marzo del 2018)
957 visualizaciones desde el 8 de Marzo del 2018
140,9 KB
21 paginas
Creado hace 20a (11/01/2004)
Tutorial de Matlab.

Antonio Souto Iglesias.

Presentamos un tutorial de Matlab porque en C´alculo Num´erico es importante poder
realizar r´apidamente y con exactitud los c´alculos elementales que son necesarios para
los diferentes ejercicios. Matlab es una herramienta potent´ısima, casi est´andar para
c´alculos en muchas ramas de la Ingenier´ıa, y de uso razonablemente simple. Haremos
una descripci´on de los elementos b´asicos de Matlab y remitimos al estudiante interesado
a cualquier edici´on del manual de referencia del programa[2] para un mejor conocimiento
del mismo. Tambi´en es interesante el libro sobre Matlab de Higham y Higham[1] y
una buena referencia en castellano con ejemplos procedentes de problemas en C´alculo
Num´erico es el de Quintela[3].

1 Conceptos b´asicos.

Para arrancar Matlab, se procede como con cuaquier programa Windows, o sea, Inicio,
Programas, Matlab o Student Matlab caso de que utilicemos la versi´on educacional. Una
vez arrancado aparece el cursor con el s´ımbolo (>>) o (EDU >>), indicando que puedes
introducir ´ordenes. De hecho, en este tutorial, cuando veas este s´ımbolo, es que tienes
que introducir por teclado la orden que aparece escrita a la derecha del mismo.

La utilizaci´on m´as b´asica de Matlab es como calculadora 1. As´ı por ejemplo, puedes
calcular cos(5) · 27.3, para lo cual debes introducir2:

>>cos(5)*2^7.3
ans =

44.7013

Matlab mantiene en memoria el ´ultimo resultado. Caso de que ese c´alculo no se asigne a
ninguna variable, lo hace a una variable por defecto de nombre ans. Si quieres referirte
a ese resultado, hazlo a trav´es de la variable ans, y si no asignas ese nuevo c´alculo a
ninguna variable, volver´a a ser asignado a ans.

>>log(ans)
ans =

3.8000

En este momento os podr´ıais preguntar si este ha sido un logaritmo decimal o neperiano
(natural). Para saberlo, deb´eis pedir ayuda sobre el comando log utilizando:

>>help log

LOG

Natural logarithm.

LOG(X) is the natural logarithm of the elements of X.
Complex results are produced if X is not positive.

See also LOG2, LOG10, EXP, LOGM.

1Funcionando de este modo, es similar a una calculadora programable, aunque bastante m´as vers´atil.
2Los argumentos de las funciones trigonom´etricas siempre est´an en radianes.

2

Por defecto, los resultados aparecen con 4 cifras decimales. Si necesitares m´as precisi´on
en los resultados, puedes utilizar la orden format long y repite los c´alculos:

>>format long

Para recuperar una orden y ejecutarla otra vez o modificarla se usan la flechas arriba y
abajo del cursor ⇑, ⇓. Presionemos ⇑ hasta recuperar la orden:

>>cos(5)*2^7.3
ans =

44.70132670851334

Ejercicio 1.1 Realizar la siguiente operaci´on: 2.72.1 + log10 108.2.

Ejercicio 1.2 Realizar la siguiente operaci´on: e2.72.1+log10 108.2.

Caso de que necesit´eis referiros a determinados c´alculos pod´eis asignarlos a variables y
as´ı recuperarlos despu´es mediante esas variables. Por ejemplo, pod´eis con ⇑ recuperar la
orden cos(5) · 27.3 y asignar su valor a la variable x. Luego pod´eis utilizarla para otros
c´alculos.

>>x=cos(5)*2^7.3
x =

44.70132670851334

>>y=log(x)
y =

3.80000318145901

Ejercicio 1.3 Realizar la siguiente operaci´on: 2.72.1+log10 108.2 y asignarla a la variable
x.

Ejercicio 1.4 Realizar la siguiente operaci´on: e2.72.1+log10 108.2 y asignarla a la variable
t.

Como es muy f´acil recuperar ´ordenes previas podemos utilizar esta idea para simular los
t´erminos de una sucesi´on recurrente. Por ejemplo xn+1 = cos(xn)

>>x=0.2
x =

0.20000000000000

>>x=cos(x)
x =

0.98006657784124

>>x=cos(x)
x =

0.55696725280964

>>x=cos(x)
x =

3

0.84886216565827

>>x=cos(x)
x =

0.66083755111662

>>x=cos(x)
x =

0.78947843776687

>>x=cos(x)
x =

0.70421571334199

Ejercicio 1.5 Repetir la operaci´on anterior hasta que se estabilice el cuarto decimal de
x de un paso al siguiente.

Ejercicio 1.6 Cambiar el formato para que otra vez se vean s´olo cuatro decimales.
Ejercicio 1.7 Empezando por x = 100 repetir la operaci´on x = x − (x2 − 81)/2/x hasta
que se converja en el cuarto decimal. ¿Qu´e relaci´on hay entre el ´ultimo x y 81?

Ejercicio 1.8 Definir A como vuestro DNI. Empezando por x = 100 repetir la operaci´on
x = x − (x2 − A)/2/x hasta que se converja en el cuarto decimal. ¿A qu´e ha convergido
la sucesi´on?

A veces es bueno apagar y encender la ”calculadora”para borrar todo y empezar de
nuevo. Esto se hace con la orden clear. Hay que tener cuidado al utilizarla pues no
solicita confirmaci´on, y sus resultados son definitivos.

>>clear
>>x
??? Undefined function or variable ’x’.

Ejercicio 1.9 Preguntar el valor de A igual que acabamos de preguntar x. ¿Tiene sen-
tido el resultado?

2 Manejo de vectores.

Para crear y almacenar en memoria un vector v que tenga como componentes v1 = 0,
v2 = 2, v3 = 4, v4 = 6 y v5 = 8 podemos hacerlo componente a componente:

>>v(1)=0
v =

0

>>v(2)=2
v =

0

2

>>v(3)=4

4

v =

0

>>v(4)=6
v =

0

>>v(5)=8
v =

0

2

2

2

4

4

4

6

6

8

O, para simplificar la creaci´on de vectores, se puede definir un vector especificando su
primer elemento, un incremento, y el ´ultimo elemento. Matlab rellenar´a ese vector. As´ı
podemos definir igualmente el vector v como una secuencia que empieza en 0, avanza de
2 en 2 y que termina en el 8:

>> v = [0:2:8]
v =

>> v
v =

0

0

2

2

4

4

6

6

8

8

Si ponemos ; al final de una l´ınea de comandos, cuando pulsemos la tecla Enter para
ejecutarla, se ejecutar´a pero no mostrar´a el resultado. Esto es muy ´util algunas veces:

>> v = [0:2:8];
>> v
v =

0

2

4

6

8

Podemos construir el vector v editando directamente entre los corchetes las componentes
del vector v:

>>v = [0 2 4 6 8];
>> v
v =

0

2

4

6

8

Puedes acceder f´acilmente al contenido de una posici´on del vector, por ejemplo la primera.

>> v(1)
ans =

0

O modificarla:

>> v(1)=-3;
>> v
v =

-3

2

4

6

8

5

O hacer operaciones entre componentes, v2 · v3
5:

>> v(2)*v(5)^3
ans =

1024

Ejercicio 2.1 Calcular la suma de los elementos de v, elemento a elemento.

Para trasponer un vector una matriz se usa el ap´ostrofo que es el acento que est´a en la
misma tecla que el signo de interrogaci´on ”?”.

>> v’
ans =

-3
2
4
6
8

Como hemos comentado, para recuperar una orden y ejecutarla otra vez o modificarla se
usan la flechas arriba y abajo del cursor ⇑, ⇓. Presionemos ⇑ hasta recuperar la orden:

>> v(1)=-3;

Modifiqu´emosla para dejar el valor original

>> v(1)=0;

Al definir ese vector v de 5 componentes, en realidad lo que definimos es una matriz fila
de cinco columnas, o sea un matriz de 1x5. Esto lo podemos comprobar si preguntamos
el tama˜no de v utilizando la sentencia size:

>>size(v)
ans =

1

5

que nos indica que v tiene una fila y 5 columnas.

Ejercicio 2.2 Definir un nuevo vector que sea el traspuesto de v y aplicar a ese vector
el comando size. ¿Es coherente el resultado?

3 Introducci´on al tratamiento de matrices.

Haremos una introducci´on a la definici´on y manipulaci´on de matrices. Se supone que
has seguido la secci´on anterior y dispones de los conocimientos b´asicos sobre la definici´on
y manipulaci´on de vectores usando Matlab. Definir una matriz es muy similar a la
definici´on de un vector. Para definir una matriz, puedes hacerlo dando sus filas separadas
por un punto y coma (tener cuidado de poner los espacios en blanco!):

6

>> A = [ 1 2 3; 3 4 5; 6 7 8]
A =

1
3
6

2
4
7

3
5
8

o definirla directamente fila a fila3:

>> A = [ 1 2 3
3 4 5
6 7 8]

A =

1
3
6

2
4
7

3
5
8

Se puede modificar alguno de los elementos de la matriz A, accediendo a cualquiera de
sus posiciones, por ejemplo:

>> A(2,2)=-9
A =

1
3
6

2
-9
7

3
5
8

Dejemos su valor original:

>> A(2,2)=4;

De igual modo, puedes considerarla como una fila de vectores columna:

>> B = [ [1 2 3]’ [2 4 7]’ [3 5 8]’]
B =

1
2
3

2
4
7

3
5
8

(Otra vez, es importante colocar los espacios en blanco.)

Ejercicio 3.1 Sumar los elementos diagonales de la matriz A, refiri´endonos a ellos,
elemento a elemento.

Podemos sumar o restar matrices para tener otras matrices.

>>C=A+B
C =

2
5
9

4
8
14

6
10
16

3Esto es lo que yo suelo hacer.

7

Ejercicio 3.2 Definir la matriz D = 2B − A.

Tambi´en podemos multiplicarlas.

>>C=A*B
C =

14
26
44

31
57
96

37
69
117

Ejercicio 3.3 Definir la matriz D = B − A · B.

Ejercicio 3.4 Definir la matriz C = AAt.

Podemos definir algunos tipos especiales de matrices, como por ejemplo una matriz de
3x3 que tenga todos sus elementos nulos.

>>I=zeros(3)
I =

0
0
0

0
0
0

0
0
0

Podemos modificar sus elementos diagonales para tener la matriz identidad, para lo cual
debes usar ⇑ para modificar la definici´on del primer elemento, cambiando los ´ındices para
definir los dem´as.

>>I(1,1)=1;
>>I(2,2)=1;
>>I(3,3)=1
I =

1
0
0

0
1
0

0
0
1

Ejercicio 3.5 Definir la matriz D = B − A · B como D = B(I − A).

Otra forma de definir la matriz identidad es a trav´es de la funci´on diag, que recibe un
vector que convierte en diagonal de una matriz cuyos otros elementos son nulos.

>>J=diag([1 1 1])
J =

1
0
0

0
1
0

0
0
1

Ejercicio 3.6 Definir una matriz D diagonal cuyos elementos sean −2, 1, 0.2 y −0.7.

Ejercicio 3.7 Pedir ayuda de la funci´on eye, y definir la matriz diagonal de 10x10.

8

3.1 Definici´on de submatrices.

Se pueden definir “subvectores” o submatrices muy facilmente. Si definimos v como:

>> v = [0:2:8]
v =

0

2

4

6

8

Podemos definir un vector e que sean las tres primeras componentes del vector v como:

>> e=v(1:1:3)
e =

0

2

4

Esta orden es equivalente a la siguiente, pues cuando el incremento es la unidad:

>> e=v(1:3)
e =

0

2

4

Como comentamos al principio, la notaci´on usada por Matlab sigue en lo posible la
notaci´on est´andar de ´Algebra Lineal que ya conoc´eis. Es muy sencillo multiplicar matrices
y vectores, teniendo cuidado de que las dimensiones sean las adecuadas.

>> A*v(1:3)
??? Error using == *
Inner matrix dimensions must agree.
>> A*v(1:3)’
ans =

16
28
46

Acost´umbrate a ver ese mensaje de error! Una vez que empiezas a trabajar con vectores
y matrices,
  • Links de descarga
http://lwp-l.com/pdf9322

Comentarios de: Tutorial de Matlab (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad