Beruflich Dokumente
Kultur Dokumente
CONTENIDOS
1. Acceso a MATLAB
2. Operaciones aritmticas
3. Vectores y matrices
5. Polinomios
1. ACCESO A MATLAB
Se inicia ejecutando la aplicacin MATLAB dentro del entorno que
estamos utilizando (en nuestro caso un PC y un sistema operativo de tipo
WINDOWS). A continuacin, aparecer una ventana (que llamamos
ventana de rdenes). Para comunicarse con MATLAB
el usuario debe escribir los datos o instrucciones (que mostramos en
color rojo con letra mquina de escribir) a continuacin del
smbolo EDU>>.
2. OPERACIONES ARITMTICAS
En MATLAB se pueden realizar las operaciones aritmticas siguientes:
+
*
/
^
Sumar
Restar
Multiplicar
Dividir
Elevar a una potencia
EDU>> 5+3
ans =
8
En cambio, cuando el clculo se asigna a una variable en concreto, el
resultado queda
guardado en ella.
Ejemplo.
EDU>> x=8+7
x =
15
Si queremos conocer el valor de una variable, es suficiente con escribir su
nombre.
Ejemplo.
EDU>> x
x =
15
Cuando aadimos un punto y coma (;) al final de una instruccin,
entonces no se muestra la respuesta
en la ventana de rdenes.
Ejemplo.
EDU>> y=6*8;
... pero no por ello deja de realizarse el clculo.
EDU>> y
y =
48
Existe un orden de prioridad en el que se efectan las operaciones:
primero las potencias, despus las multiplicaciones y divisiones y,
finalmente, las sumas y restas. Las operaciones de igual prioridad se
evalan de izquierda a derecha.
Ejemplos.
EDU>> 2/4*3
ans =
1.5000
EDU>> 2/(4*3)
ans =
0.1667
3. VECTORES Y MATRICES
Para definir un vector fila, es suficiente escribir sus coordenadas entre
corchetes.
Ejemplo:
EDU>> v=[2 4 6]
% Vector de 3 coordenadas
v=
2 4 6
EDU>> w=[1 2 3];
El operador ' es el de trasposicin (en realidad trasposicin y
conjugacin):
EDU>> w'
ans =
1
2
3
Otra manera muy til en que podemos declarar vectores con MATLAB es
la siguiente: supongamos que queremos construir un vector tal que la
diferencia entre dos cualesquiera de sus coordenas consecutivas sea una
cantidad constante, por ejemplo, que la primera sea 0, la ltima 10 y la
distancia entre dos consecutivas sea 2, basta escribir:
EDU>> vector1=[0:2:10]
vector1 =
0 2 4 6 8 10
Si lo que conocemos del vector es que la primera coordenada vale 0, la
ltima 10 y que tiene 6 en total, escribiremos:
EDU>> vector2=linspace(0,10,6)
vector2 =
0 2 4 6 8 10
MATLAB permite acceder a partes especficas de un vector con la misma
notacin que hemos utilizado para crearlos.
Ejemplos.
EDU>> vector2(1:3)
de vector2
ans =
0 2 4
EDU>> vector2(3)
%segunda coordenada de
vector2
ans =
4
EDU>> vector2(1:2:4) %las dos primeras cordenadas
impares de vector2
ans =
0 4
Casi todos los comandos bsicos de MATLAB se resuelven utilizando
matrices.
Las matrices 1x1 se ven como escalares y las matrices con una fila o
columna se interpretan como vectores. En MATLAB las matrices se
escriben como los vectores, pero separando las filas mediante un punto y
coma o un retorno de carro.
Ejemplos.
EDU>> M=[1 2 3;4 5 6;7 8 9] %Asignamos a la variable
M una
%matriz 3x3
M =
1 2 3
4 5 6
7 8 9
EDU>> M'
adjunta)
ans
1 4
2 5
3 6
=
7
8
9
EDU>> N=[7 4 6
matriz 3x3
3 5 8
3 9 10]
N
7
3
3
=
4 6
5 8
9 10
%Asignamos a la variable L
%resultado de adjuntar dos
L =
0 2 4 6 8 10
0 0 0 0 0 1
Cada elemento de una matriz (entrada) se identifica
escribiendo el nombre de la matriz y, entre parntesis, sus respectivos
ndices:
Ejemplo.
EDU>> L(1,3)
columna de L
ans =
4
Tambin se puede acceder a un fila o columna entera.
Ejemplo.
EDU>> L(:,2)
% Segunda columna de L
ans =
2
0
EDU>> L(2,:)
% Su segunda fila de L
ans =
0 0 0 0 0 1
Acceder a la matriz como si fuera una columna.
Ejemplo.
EDU>> L(3:10)
como columna
ans =
2 0 4 0 6 0 8 0
o acceder a cualquiera de sus submatrices
EDU>> L(1:2,[1 3])
elementos que
filas y en la
ans =
0 4
0 0
ans =
1 6
Podemos definir algunas matrices especiales como, por ejemplo, la matriz
identidad:
EDU>> eye(3)
ans =
1 0 0
0 1 0
0 0 1
La matriz cuyas entradas son todas uno:
EDU>> ones(3)
ans =
1 1 1
1 1 1
1 1 1
La matriz cuyas entradas son todas cero:
EDU>> zeros(3)
ans =
0 0 0
0 0 0
0 0 0
'
Trasponer
Para operar dos matrices han de tener tamao compatible con esa
operacin.
MATLAB da lugar a a un mensaje de error, por ejemplo si se suman dos
matrices no escalares con diferente nmero de filas o columnas.
Ejemplos.
EDU>> B=[2 4;6 8];
EDU>> B*[1,2]
??? Error using ==> *
Inner matrix dimensions must agree.
EDU>> B*[1,2]'
ans =
10
22
EDU>> C=B'
C =
2 6
4 8
EDU>> 3*(B*C)^4
ans =
100005888
226068480
226068480
511039488
% Calcula el
ans =
2421
6255
10089
3051
7857
12663
3681
9459
15237
EDU>> A.^3
% Calcula la potencia cbica de
cada entrada de A
ans =
1
27
125
343
729 1331
2197 3375 4913
EDU>> log(A)
entrada de A
ans =
0
1.9459
2.5649
1.0986
2.1972
2.7081
1.6094
2.3979
2.8332
5. POLINOMIOS
Con MATLAB se puede trabajar con polinomios de forma sencilla. Es
suficiente tener en cuenta que un polinomio no es nada ms que un
vector, en que el orden de los coeficientes va de mayor
a menor grado.
Ejemplos.
EDU>> p=[3 5 2 8 6]
% 3*x^4+5*x^3+2*x^2+8*x+6
p =
3 5 2 8 6
EDU>> q=[6 2 1 7 8]
% 6*x^4+2*x^3+x^2+7*x+8
q =
6 2 1 7 8
Adems, MATLAB incluye funciones especficas para operar con
polinomios. Por ejemplo,
si queremos evaluar lo que vale un polinomio en un punto.
Ejemplo.
EDU>> polyval(p,-1) % Evaluacin de
3*x^4+5*x^3+2*x^2+8*x+6 en x=-1
ans =
-2
Tambin es posible multiplicar dos polinomios.
Ejemplo.
EDU>> conv(p,q)
% producto de p por q
ans =
1 36 25 78 113 74 78 106 48
O obtener el cociente que se obtiene al dividirlos.
EDU>> deconv(p,q) % cociente resultado de dividir p
entre q
ans =
0.5000
EDU>> roots(p)
ans =
-1.7793
0.4292 + 1.1502i
0.4292 - 1.1502i
-0.7458
5.1 CONSTRUCCIN if
La construccin if ejecuta un conjunto de sentencias si una condicin se
cumple. Su forma general es:
if condicin
sentencias
end
Tambin existe la opcin de que se ejecute otro conjunto de sentencias si
la condicin no se cumple:
if condicin
sentencias
else
sentencias
end
Lo ms practico cuando se programa en MATLAB es editar
ficheros.m.
Estos ficheros son ficheros de texto que contienen rdenes de MATLAB.
Para utilizarlos se siguen los siguientes pasos: