MatLab 1
Clase 3
Temas:
END
Determina hasta que orden llega el efecto de if, for, y while. (Para
ejemplos de su uso ver if, while y for)
IF
Verifica si se cumple cierta condicin, y de acuerdo a si se cumple o
no realiza la accin que se desee.
La sintaxis del comando es como sigue:
SINTAXIS:
if (condicion)
(Sentencia que se cumple si la condicin es verdadera)
else
Ing. Adriana Ayala
MatLab 1
WHILE
MatLab 1
FOR
Muy parecido al While, pero utiliza un contador, es til si se quiere
repetir una parte del programa un nmero determinado de veces.
Ejemplo:
Sintaxis:
Ing. Adriana Ayala
MatLab 1
CLEAR
PLOT
Ing. Adriana Ayala
MatLab 1
MatLab 1
DISP
Sirve para mostrar texto de salida o vectores de resultados.
Sintaxis:
La sintaxis de la orden es:
disp(X);
X Puede ser:
Un vector.
Una matriz.
Una cadena de texto.
MatLab 1
Ejemplo:
El siguiente ejemplo ilustra el uso de disp:
INPUT
Se utiliza para que el programa pida valores de variables mientras se
ejecuta.
Sintaxis:
La sintaxis de la orden es:
variable = input(texto);
Variable es un nombre vlido de variable, en la que se quiere almacenar el
valor que se pregunta.
El texto puede ser:
Una variable o,
Ing. Adriana Ayala
MatLab 1
Una cadena.
El siguiente ejemplo ilustra el uso de input:
NORM
Calcula la norma de un vector o matriz.
Sintaxis:
La sintaxis de la orden es:
Norma = norm(Matriz [, Tipo]);
Los signos [] son para decir que Tipo es opcional.
Ing. Adriana Ayala
MatLab 1
MatLab 1
MIN
Retorna el (los) menor (es) componente (s) de un vector o matriz.
Sintaxis:
La sintaxis de la orden es:
Mnimo = min (matriz);
Matriz es la matriz o vector al que se desea encontrar la (s) mnima (s)
componente (s).
MatLab 1
En Mnimo se retorna (n) el (los) mnimo (s) valor (es) encontrado (s) en la
matriz o vector.
El siguiente ejemplo ilustra el uso de min:
MAX
Retorna el (los) mayor (es) componente (s) de un vector o matriz.
Sintaxis:
La sintaxis de la orden es:
Ing. Adriana Ayala
MatLab 1
Mximo = max(Matriz);
Matriz es la matriz o vector al que se desea encontrar la (s) mxima (s)
componente (s).
En Mximo se retorna (n) el (los) mximo (s) valor (es) encontrado (s) en la
matriz o vector.
MatLab 1
SIZE
Devuelve las dimensiones de la matriz.
Sintaxis:
La sintaxis de la orden es:
[Filas, Columnas] = size(Matriz);
(Los simbolos [] se escriben.)
Y tambin: Tamao = size(Matriz);
Matriz es la matriz a la que se le desea determinar el tamao
(dimensiones).
En Filas se almacena el nmero de filas.
En Columnas se almacena el nmero de columnas.
Tamao es un vector (fila) en cuyas componentes se almacenan el
nmero de filas y de columnas, siempre en ese orden.
MatLab 1
NOTA: De donde la letra f significa las filas que contiene la matriz y c las
columnas de la misma.
EIG
Calcula los valores y vectores propios (ortovalores y ortovectores) de
la matriz.
Sintaxis:
La sintaxis de la orden es:
[Vectores, Diagonal] = eig(Matriz);
(Los simbolos [] se escriben.)
Y tambin: Valores = eig(Matriz);
Matriz es la matriz (cuadrada) a la que se le desea calcular los valores o
vectores propios.
Diagonal es una matriz diagonal que contiene los valores propios de Matriz.
Vectores es una matriz en la que se devuelven los vectores propios
(unitarios) donde cada columna de la matriz Vector es un vector propio de
Ing. Adriana Ayala
MatLab 1
MatLab 1
INV
Invierte la matriz (si es posible).
Sintaxis:
La sintaxis de la orden es:
matriz1 = inv(matriz2);
matriz2 es la matriz que se desea invertir
En matriz1 se almacena la matriz inversa de matriz 2.
MatLab 1
DET
Calcula el determinante de la matriz.
Ejemplo:
Sintaxis:
La sintaxis de la orden es:
Valor = det (Matriz);
Matriz es la matriz (cuadrada) a la que se le desea calcular el
determinante.
Valor es donde se almacena el valor del determinante.
El siguiente ejemplo ilustra el uso de det:
MatLab 1
CROSS
Calcula el producto cruz entre vectores.
Sintaxis:
La sintaxis de la orden es:
Vector1 = cross(Vector2, Vector 3);
Vector2 y Vector3 son los vectores a los que se les quiere aplicar el
producto cruz. Tanto Vector2 como Vector3 deben ser vectores
tridimensionales.
Vector1 es el vector (tridimensional) resultante del producto cruz de
Vector2 y Vector3.
El siguiente ejemplo ilustra el uso de cross:
MatLab 1
LENGTH
Determina el nmero de componentes de un vector.
Sintaxis:
La sintaxis de la orden es:
Longitud = length(Vector);
Vector es el vector que se quiere medir (nmero de componentes).
Longitud es el nmero de componentes de Vector.
El siguiente ejemplo ilustra el uso de lenght:
MatLab 1
ABS
Calcula la norma de un complejo o el valor absoluto de un real.
Sintaxis:
La sintaxis de la orden es:
Valor = abs (Nmero);
Valor es la norma del complejo si (Nmero es complejo) o el valor absoluto
de Nmero (si es real).
Nmero puede ser un real o un complejo:
MatLab 1
SQRT
Calcula la raz cuadrada de un complejo o de un real.
Ejemplo:
Sintaxis:
La sintaxis de la orden es:
Valor = sqrt(Nmero);
En Valor se almacena la raiz cuadrada del nmero.
Nmero puede ser un real o un complejo (si es real negativo, el resultado es
un complejo)
El siguiente ejemplo ilustra el uso de sqrt:
MatLab 1
ANGLE
Calcula el ngulo de fase (en radianes de 0 a 2*pi) de los elementos
complejos de una matriz. (Se puede usar para calcular el ngulo de
fase de un solo complejo).
Sintaxis:
La sintaxis de la orden es:
Valor = angle(Matriz);
Ing. Adriana Ayala
MatLab 1
Valor es una matriz que almacena el valor del ngulo de fase del complejo
(de 0 a 2*pi) que ocupa la misma posicin en Matriz (el ngulo de fase del
elemento 1,1 lo almacena en la posicin 1,1).
Matriz es una matriz (puede tener un solo elemento) cualquiera con
componentes complejas (los reales forman parte de los complejos).
El siguiente ejemplo ilustra el uso de angle:
MatLab 1
pi:
inf:
MatLab 1
9
9
MatLab 1
Operacin
Suma
Resta
Producto
Potencia
Transponer
Divisin
Seno
Coseno
Tangente
Arco Seno
Arco Coseno
Arco Tangente
Exponencial
Logaritmo en base e
Logaritmo en base 10
Comando
+
*
^
'
/
sin(x)
cos(x)
tan(x)
asin(x)
acos(x)
atan(x)
exp(x)
log(x)
log10(x)
Matrices:
Construccin de matrices por bloques
Podemos generar matrices combinando otras matrices de dimensiones
ms pequeas, como si de nmeros se tratase, siempre que las
dimensiones sean las adecuadas.
1. [A B]: genera la matriz formada por las columnas de A y B.
2. [A;B]: genera la matriz formada por las filas de A seguidas de las de B.
3. [A B;C D]: genera una matriz formada por cuatro bloques.
Para definir una matriz se utiliza "[" y "]" para marcar principio y fin de la
matriz, respectivamente. Para separar valores dentro de la matriz usamos ","
para separar valores dentro de la fila (columnas) y ";" para separar las filas.
Por ejemplo:
a=[1,2,3;4,5,6;7,8,9]
MatLab 1
La misma matriz se puede producir usando "," para separar valores dentro
de la fila (columnas) y enter para separar las filas, por ejemplo:
a=[1,2,3
4,5,6
7,8,9]
Para referirnos a un valor especfico dentro de una matriz utilizamos "(",")",
por ejemplo el valor de la matriz en la fila 2 y la columna 1, utilizamos:
a(2,1)
Un valor de la matriz puede ser cambiado en forma individual:
a(2,1)=10
De la misma manera, nos podemos referir a toda una columna (fila) de un
vector utilizando ":" en la posicin de las filas (columnas), indicando que
hablamos de todos los valores. Una columna (fila) de un vector ser un
vector columna (fila).
a(2,:)
a(:,3)
A partir de matrices, se pueden generar nuevas matrices. Algunos ejemplos
son:
Genera una matriz de 4x3.
b=[a;1,2,3]
c=[a(1,:);[5,5,5];[6,6,6];a(3,:)]
Genera una matriz de 4x3.
d=[a;a]
Genera una matriz de 6x3.
e=[a,a]
MatLab 1
Operacin
Operador
Suma
Resta
Transponer
Producto
Potencia
Ejemplo
b+c
'
*
^
b-c
c'
b*c'
(c'*c)^(2)
Funcin
cond (A)
det (A)
diag (v)
diagonal
Qu hace?
nmero de condicin
determinante
crea una matriz diagonal con el vector v sobre la
Ing. Adriana Ayala
MatLab 1
diag (A)
columna
eig (A)
inv (A)
length (A)
norm (A)
norm (A,n)
normest (A)
null (A)
orth (A)
pinv (A)
poly (A)
rank (A)
rref (A)
matriz
size (A)
trace (A)
tril (A)
triu (A)
MatLab 1
MatLab 1
ans =
111
111
>> rand (2,4) % matriz de valores aleatorios entre 0 y 1 segn la uniforme
(0,1)
ans =
0.9355 0.4103 0.0579 0.8132
0.9169 0.8936 0.3529 0.0099
>> randn (2,5) % matriz de valores aleatorios segn la normal (0,1)
ans =
0.8156 1.2902 1.1908 -0.0198 -1.6041
0.7119 0.6686 -1.2025 -0.1567 0.2573
>> eye (2) % matriz identidad o unidad
ans =
10
01
>> magic (4) % matriz mgica 4 x 4
ans =
16
2
3
13
5
11
10
8
9
7
6
12
4
14
15
1
>> hilb (3) % matriz de Hilbert 3 x 3
ans =
1.0000 0.5000 0.3333
0.5000 0.3333 0.2500
0.3333 0.2500 0.2000
>> invhilb (3) % inversa de la matriz de Hilbert 3 x 3
ans =
Ing. Adriana Ayala
MatLab 1
9
-36
30
-36
30
192 -180
-180 180
VECTORES
CMO DEFINIRLOS
Para crear un vector introducimos los valores deseados separados por
espacios (o comas) todo ello entre corchetes [].
Generalmente usaremos letras maysculas cuando nombremos a las
matrices y minsculas para vectores y escalares. Esto no es imprescindible y
Matlab no lo exige, pero resulta til.
Ejemplos:
>> x = [5 7 -2 4 -6] % es un vector, los elementos los separamos con espacios
x=
5 7 -2 4 -6
>> y = [2,1,3,7] % es otro vector, los elementos los separamos con comas
y=
2137
>> z = [0 1 2,3 4,5] % es otro vector, da igual separar los elementos por
comas o espacios
z=
012345
MatLab 1
MatLab 1
MatLab 1
ans =
1234567
>> (1:3:10) % crea un vector que comenzando en 1, aumenta de 3 en 3
hasta el 10
ans =
1 4 7 10
>> (1:4:10) % comenzando en 1, aumenta de 4 en 4 hasta el 10 y por eso
acaba en 9
ans =
159
>> (50:-7:1) % crea un vector que comenzando en 50, disminuye de 7 en 7
hasta el 1
ans =
50 43 36 29 22 15 8 1
>> linspace (2,6,3) % genera un vector desde el 2 al 6 con 3 elementos
equidistantes
ans =
246
>> linspace (2,6,4) % genera un vector desde el 2 al 6 con 4 elementos
equidistantes
ans =
2.0000 3.3333 4.6667 6.0000
>> logspace (0,2,4) % genera un vector logartmicamente espaciado entre
10^0 y 10^2 con 4 elementos
ans =
1.0
4.6416 21.5443 100.0000
MatLab 1
Funcin
cross (x,y)
dot (x,y)
Qu hace?
producto vectorial entre los vectores x e y
producto escalar entre los vectores x e y
Ejemplos:
>> x = [1 2 3]; y = [4 5 6];
>> cross (x,y) % producto vectorial
ans =
-3 6 -3
>> dot (x,y) % producto escalar
ans =
32