Publicado el 28 de Abril del 2017
1.399 visualizaciones desde el 28 de Abril del 2017
254,6 KB
23 paginas
Creado hace 16a (29/07/2007)
Universidad de Chile
Facultad de Ciencias Físicas y Matemáticas
Departamento de Física
FI1A2 – Sistemas Newtonianos
Guía Básica de Matlab
Por: Cristián Cruz D.
Santiago, 29 de Julio de 2007
Índice
1.
Introducción – Matlab : Matrix Laboratory ......................................................... 3
2. Directorios ............................................................................................................... 3
3. Definición de Variables y Operatoria Básica ..................................................... 4
3.1 Declaración de Matrices: .............................................................................. 4
3.2
Indexación de Elementos de una Matriz:................................................... 5
3.3 Matrices Especiales....................................................................................... 5
3.4 Operaciones con Matrices:........................................................................... 6
4. M-Files ..................................................................................................................... 6
4.1 Creación de Funciones ................................................................................. 7
4.2 Operadores Lógicos ...................................................................................... 8
a) For .................................................................................................................... 8
b)
If ........................................................................................................................ 8
4.3 Gráficos ........................................................................................................... 9
5.
Integración de Ecuaciones Diferenciales......................................................... 15
6. Acerca de la Ayuda de Matlab........................................................................... 22
2
1.
Introducción – Matlab : Matrix Laboratory
Como su nombre lo indica, Matlab es un software que se especializa en el
trabajo con matrices. Es un lenguaje de programación que permite realizar
operaciones matriciales en forma simple y práctica, cosa que en otros
lenguajes (como JAVA) resulta bastante engorroso.
El objetivo de esta guía es explicar los comandos básicos para comenzar
a programar en Matlab.
2. Directorios
Antes de comenzar, debemos indicarle al programa en qué directorio
vamos a trabajar. Para esto vamos a File > Set Path y hacemos clic sobre el
botón ‘Add Folder’. Una vez que hayamos seleccionado la carpeta de trabajo,
cerramos la ventana haciendo clic en ‘Close’.
NOTA: Al cerrar la ventana el programa preguntará si desea guardarse la
carpeta que agregamos como directorio para futuras sesiones. Se recomienda
NO guardar, de modo de evitar que futuros alcances de nombres en funciones
impidan un correcto desempeño del programa.
3
3. Definición de Variables y Operatoria Básica
Al contrario de lo que sucede en JAVA, para definir una variable en Matlab
simplemente la declaramos de la siguiente forma:
x =15
A lo que el programa responderá desplegando el valor de x en pantalla:
>> x=15
x =
15
Para evitar que se despliegue en pantalla un resultado se agrega un punto y
coma al final de la operación:
x =15;
Como pueden observar, no es necesario declarar el tipo de datos que
contiene la variable x. A menos que se indique lo contrario, Matlab trabaja por
defecto con arreglos. En el ejemplo, x queda definido como una matriz de 1x1
cuyo único elemento es el número 15.
3.1 Declaración de Matrices:
Los elementos de cada fila se separan por comas o espacios, para
terminar con una fila y empezar la siguiente se pone un punto coma.
Ejemplos:
A
=
]9,8,7;6,5,4;3,2,1[
B
=
]3,2,1[
C
=
]9;4;1[
A
=
321
654
987
B
=
[
]321
C
=
1
4
9
4
También
se pueden
crear
vectores en
forma
rápida utilizando
V=inicio:paso:fin
V
=
2:2.0:1
genera
V
=
[
]28.16.14.12.11
o crear vectores equiespaciados utilizando linspace(inicio, fin, Nº puntos)
V
=
linspace
)6,2,1(
genera
V
=
[
]28.16.14.12.11
3.2
Indexación de Elementos de una Matriz:
Si definimos A como una matriz de m x n, podemos acceder a sus
elementos a través de los siguientes comandos:
A(i,j) :
A(i,:) :
A(:,j) :
Muestra el elemento de la fila i y columna j.
Muestra la fila i.
Muestra la columna j.
A([1 3],j) : Muestra los elementos de las filas 1 y 3 de la columna j.
A(i,[1 4]) : Muestra los elementos de las columnas 1 y 4 de la columna i.
También se puede asignar valores a elementos específicos de una matriz,
combinando los comandos de declaración e indexación. Por ejemplo:
A(1,2)=17 : Guarda el número 17 en la fila 1, columna 2.
A(i,:)=17 : Guarda el número 17 en todos los elementos de la fila i.
A(:,j)=17 : Guarda el número 17 en todos los elementos de la columna j.
3.3 Matrices Especiales
En ciertas ocasiones se necesita definir matrices especiales, como
identidades, matrices nulas, unitarias, diagonales, tridiagonales, etc.
A’ :
Matriz Transpuesta de A
eye(n) :
Crea una matriz identidad de n x n.
eye(m,n) : Crea una matriz de ceros de m x n con unos en si ‘diagonal’.
5
diag(V):
Crea una matriz diagonal con los elementos del vector V.
diag(V,n): Crea una matriz ‘diagonal desplazada’ en n con los elementos del
vector V. Si n>0 la diagonal se desplaza hacia la derecha, si n<0 a
la izquierda.
diag(A):
Crea un vector con la diagonal de la matriz A.
ones(m,n): Crea una matriz de unos de m x n.
zeros(m,n): Crea una matriz de ceros de m x n.
rand(m,n): Crea una matriz de m x n de valores aleatorios.
Existen muchas más formas para definir matrices, y las que antes fueron
mencionadas poseen más funciones. Para conocer más acerca de éstas
utilicen la ayuda de Matlab, que es MUY buena.
3.4 Operaciones con Matrices:
A* B :
A .* B :
A / B :
A \ B :
Multiplicación matricial de A y B
Multiplicación de los términos de A por los de B (conmutativa)
Multiplicación matricial de A por la inversa de B.
Multiplicación matricial de B por la inversa de A.
A . / B :
División de los términos de A por los de B.
A + B :
A - B :
Suma de los términos de A con los de B
Resta de los términos de A con los de B
Si U y V son vectores (matrices de una fila):
dot(U,V) :
Producto punto de U con V ( ∑ ⋅
i vu
i
).
cross(U,V) :
Producto cruz de U con V.
4. M-Files
En Matlab se programa en M-Files, que son archivos de texto con una
secuencia de instrucciones que luego se ejecutan en el programa. Para crear
uno nuevo vamos a File > New > M-File.
6
4.1 Creación de Funciones
Al igual que en JAVA, en Matlab podemos crear funciones que ejecuten
determinadas secuencias, las cuales pueden ser llamadas desde otro M-File.
Para crear una nueva función debemos declararla como tal:
function [a,b] = nombre(c,d)
Donde a y b son las variables de salida (lo que entrega) y c y d son las
variables de entrada (lo que recibe para poder ser ejecutada).
Ejemplo:
function [s,r] = sumaResta(a,b)
s=a+b;
r=a-b;
Guardamos el archivo en el directorio definido al comienzo y vamos a
Command Window donde escribimos:
>> [a,b]=sumaResta(3,23)
a =
26
b =
-20
Al igual que en JAVA, es posible incluir comentarios en los M-Files. Para
esto anteponemos % a lo que se quiera comentar. Si anotamos comentarios
justo después del nombre de la función, esto se mostrará como ayuda si
escribimos el comando help nombre de la función en el command window.
7
Siguiendo con el ejemplo anterior:
function [s,r] = sumaResta(a,b)
%sumaResta(a,b) retorna un vector con la suma de a y b en su
%primer componente y la resta de ambos en el segundo.
s=a+b; %Suma
r=a-b;
%Resta
En Command Window:
>> help sumaResta
sumaResta retorna un vector con la suma de a y b en su primer componente
y la resta de ambos en el segundo.
4.2 Operadores Lógicos
a) For
Genera ciclos con incrementos de una variable, por ejemplo:
for i=1:10
a(i)=2*i;
end
crea el vector
=a
[
642
L
]20
b)
If
La secuencia de instrucciones bajo el If se ejecutará sólo si se cumple la
condición especificada, por ejemplo:
for i=1:10
a(i)=2*i;
if a(i)>=10
b(i)=-a(i);
end
end
8
Crea los vectores
=a
[
642
L
]20
y
b
[
−=
10
−
12
−
14
L
−
]20
También existen los condicionales elseIf y else, que se tienen la misma
función que en JAVA.
A continuación se muestra una lista con los operadores relacionales más
utilizados:
Operador
Significado
>
<
>=
<=
&
|
Mayor que
Menor que
Mayor o igual
Menor o igual
Y (and)
O (or)
4.3 Gráficos
Matlab permite graficar los resultados obtenidos. Para esto utilizamos el
comando plot. Además, existen una serie de
funciones que aportan
información adicional al gráfico:
plot(vector x, vector y, opciones):
Grafica los pares ordenados (vector x (i), vector y (i)). Por defecto Matlab
une los puntos que se grafican, pero esto se puede deshabilitar utilizando las
opciones del comando plot. Para mayor informació
Comentarios de: Guía Básica de Matlab (0)
No hay comentarios