Anda di halaman 1dari 36

UNIVERSIDAD TECNICA PARTICULAR DE LOJA

La universidad Catlica de Loja

MatLab 1

Clase 3
Temas:

Comandos bsicos y tiles de MATLAB.


Escalares, vectores y matrices.

Comandos bsicos y tiles de MATLAB


Comandos bsicos de programacin
Para la estructura de programacin en MATLAB se requiere conocer por lo
menos los siguientes comandos:

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

UNIVERSIDAD TECNICA PARTICULAR DE LOJA


La universidad Catlica de Loja

MatLab 1

(Sentencia que se cumple si la condicin es falsa)


end
NOTA: else y la sentencia que le sigue son opcionales.
Ejemplo:
En primer lugar se le da un valor a n
If seguido de la condicin n es igual a 0
Sentencia que se ejecuta si n=0 en este caso n toma en valor
de una cadena n es cero.
Else seguido de la sentencia que se ejecuta si n 0 en este
caso n adquiere el valor de n.
>> n=0;
>> if n==0;
n='n es cero'
else,
n=n
end
n=
n es cero

WHILE

Realiza una parte del programa mientras se cumpla alguna condicin.


Sintaxis:
La sintaxis de la orden es:
Ing. Adriana Ayala

UNIVERSIDAD TECNICA PARTICULAR DE LOJA


La universidad Catlica de Loja

MatLab 1

while (condicin), (ordenes) end;


El siguiente ejemplo ilustra el uso de while:
o En el mismo primero se inicializa el valor de n como n=0.
o Luego mientras n sea menor o igual a 5 while m<=5
o Mientras la condicin sea verdadera se mostrar en la pantalla
en valor de n.
o Luego se aumenta el valor de n en 1 seguido de ; esto evita
que el nuevo valor de n se muestre en el command window.
Con esto la accin de mostrar el valor de n y de aumentarlo en 1 sin
mostrarlo se repetir hasta que n sea igual a 5 en donde el programa sale
del comando while.

La salida que se obtiene al correr el programa anterior es:

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

UNIVERSIDAD TECNICA PARTICULAR DE LOJA


La universidad Catlica de Loja

MatLab 1

La sintaxis de la orden es:


for (contador), (ordenes) end;
(ordenes) son las ordenes que se realizar hasta que (contador) llegue a su
valor final.
(Contador) Es de la forma:
Variable = a [,b] : c
En donde a es el valor inicial del contador, b es el segundo valor que
puede ser opcional por defecto el programa admite que el segundo valor
es a+1; y c es el valor final del contador

El siguiente ejemplo ilustra el uso de for:

CLEAR

Borra todas las variables de la memoria. Es recomendable usarlo al


principio de todos los programas con la finalidad de evitar conflictos en
el uso de variables homnimas anteriores al programa actual.
(Simplemente escriba clear; al comienzo del programa)

PLOT
Ing. Adriana Ayala

UNIVERSIDAD TECNICA PARTICULAR DE LOJA


La universidad Catlica de Loja

MatLab 1

Sirve para obtener resultados grficos en 2D.


Sintaxis:
La sintaxis del comando es:
plot(x, y);
x es el vector que contiene los valores de x.
y es el vector que contiene los valores de y, tal que el valor de y en la
posicin uno del vector corresponde al primer valor del vector x. La grfica
se realiza uniendo una serie de rectas entre los puntos incluidos en los
vectores X y Y. Si las curvas quedan muy mal hechas (se notan las rectas)
puede ser necesario disminuir el paso de los vectores (y aumentar el
nmero de puntos.
El siguiente ejemplo ilustra el uso de plot:
For i=1:101
X(i)=(i-1)/100;
Y(i)=x(i)+1; % Organiza en vectores la funcin y=x+1
End
Plot(x,y);

Al correr el programa se obtiene la grfica de la recta y=x+1 (para


0<=x<=1). La grfica aparecer en una ventana aparte llamada Figure 1, y
la recta se ver asi:

Ing. Adriana Ayala

UNIVERSIDAD TECNICA PARTICULAR DE LOJA


La universidad Catlica de Loja

MatLab 1

NOTA: se utiliza el for para que en el valor de x no se obtenga nmeros negativos.

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.

Ing. Adriana Ayala

UNIVERSIDAD TECNICA PARTICULAR DE LOJA


La universidad Catlica de Loja

MatLab 1

Ejemplo:
El siguiente ejemplo ilustra el uso de disp:

La salida del programa anterior ser:

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

UNIVERSIDAD TECNICA PARTICULAR DE LOJA


La universidad Catlica de Loja

MatLab 1

Una cadena.
El siguiente ejemplo ilustra el uso de input:

La salida de este programa ser:

Comandos matemticos para vectores o matrices:


Los comandos matemticos ms empleados con matrices son:

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

UNIVERSIDAD TECNICA PARTICULAR DE LOJA


La universidad Catlica de Loja

MatLab 1

Matriz es la matriz o vector al que se desea calcular la norma.


Tipo es el tipo de norma que se desea calcular. Tipo puede ser una de las
siguientes:

Si se omite: calcula la norma 2 en un vector es la magnitud del


vector
2: calcula la norma 2
inf: calcula la norma infinito en un vector es el mximo valor absoluto
en una matriz es la suma ms grande de las filas.

En Norma se almacena el valor de la norma calculada.


El siguiente ejemplo ilustra el uso de norm:

Al correr el programa se obtienen como salida los siguientes


resultados:

Ing. Adriana Ayala

UNIVERSIDAD TECNICA PARTICULAR DE LOJA


La universidad Catlica de Loja

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).

Ing. Adriana Ayala

UNIVERSIDAD TECNICA PARTICULAR DE LOJA


La universidad Catlica de Loja

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:

Al correr el programa anterior se obtiene como salida lo siguiente:

MAX
Retorna el (los) mayor (es) componente (s) de un vector o matriz.

Sintaxis:
La sintaxis de la orden es:
Ing. Adriana Ayala

UNIVERSIDAD TECNICA PARTICULAR DE LOJA


La universidad Catlica de Loja

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.

El siguiente ejemplo ilustra el uso de max:

Al correr el programa anterior se obtiene como salida lo siguiente:

Ing. Adriana Ayala

UNIVERSIDAD TECNICA PARTICULAR DE LOJA


La universidad Catlica de Loja

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.

El siguiente ejemplo ilustra el uso de size:

Al correr el programa se obtiene la siguiente salida:


Ing. Adriana Ayala

UNIVERSIDAD TECNICA PARTICULAR DE LOJA


La universidad Catlica de Loja

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

UNIVERSIDAD TECNICA PARTICULAR DE LOJA


La universidad Catlica de Loja

MatLab 1

matriz; tal que el primer vector corresponde al primer valor propio y as


sucesivamente.
Valores es un vector columna que contiene los valores propios de Matriz.

El siguiente ejemplo ilustra el uso de eig:

Al correr el programa se obtiene la siguiente salida:

Ing. Adriana Ayala

UNIVERSIDAD TECNICA PARTICULAR DE LOJA


La universidad Catlica de Loja

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.

El siguiente ejemplo ilustra el uso de inv:

Al correr el programa se obtiene como salida la matriz que se desea


invertir (A), y su inversa (I). La salida se ve as:

Ing. Adriana Ayala

UNIVERSIDAD TECNICA PARTICULAR DE LOJA


La universidad Catlica de Loja

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:

Al correr el programa se obtiene la siguiente salida:

Ing. Adriana Ayala

UNIVERSIDAD TECNICA PARTICULAR DE LOJA


La universidad Catlica de Loja

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:

Al correr el programa se obtiene la siguiente salida:

Ing. Adriana Ayala

UNIVERSIDAD TECNICA PARTICULAR DE LOJA


La universidad Catlica de Loja

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:

Al correr el programa se obtiene la siguiente salida:

Ing. Adriana Ayala

UNIVERSIDAD TECNICA PARTICULAR DE LOJA


La universidad Catlica de Loja

MatLab 1

Comandos matemticos para nmeros (complejos y reales):


Los comandos matemticos ms empleados con nmeros son:
9

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:

Si es Real: calcula el valor absoluto.


Si es Complejo: calcula la norma del complejo.
El siguiente ejemplo ilustra el uso de abs:

Al correr el programa se obtienen como salida los siguientes resultados:

Ing. Adriana Ayala

UNIVERSIDAD TECNICA PARTICULAR DE LOJA


La universidad Catlica de Loja

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:

Ing. Adriana Ayala

UNIVERSIDAD TECNICA PARTICULAR DE LOJA


La universidad Catlica de Loja

MatLab 1

Al correr el programa se obtienen como salida los siguientes


resultados:

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

UNIVERSIDAD TECNICA PARTICULAR DE LOJA


La universidad Catlica de Loja

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:

Al correr el programa se obtienen como salida los siguientes


resultados:

Ing. Adriana Ayala

UNIVERSIDAD TECNICA PARTICULAR DE LOJA


La universidad Catlica de Loja

MatLab 1

Escalares, vectores y matrices


Escalares:
Para asignar un valor a una variable, que llamamos por ejemplo x, se usa el
signo =. Por ejemplo:
x=3
Notar que ese comando se ejecuta en el command window, en forma
"ruidosa".
Para que un comando se ejecute en el command window en forma
silenciosa, utilizamos; despus de cada comando. Por ejemplo:
x=3;
En general, las variables en Matlab sern matrices, pero al asignarle a
cualquier variable slo un nmero, el programa se da cuenta de que
estamos hablando de una matriz de 1x1, es decir, un escalar.
Las variables en Matlab pueden tener cualquier nombre largos escritos con
letras. La excepcin son algunas variables ya asignadas automticamente
por Matlab.
El Matlab es un programa Caps-sensitive, es decir, para el programa
Matlab, es distinta de la variable si tiene mayscula o no. Por ejemplo: X es
distinto de x, o Vari es distinto de VaRi.
Ejemplos de algunas variables previamente asignadas por Matlab:
eps: es el nmero 2.2204*10^-16, que es el nmero real de valor absoluto
ms chico que utiliza el Matlab. Todos los clculos en Matlab estn hechos
con una precisin dada por eps, es decir cualquiera dos nmeros que
difieran en eps o menos sern iguales para el Matlab.

pi:

el nmero irracional 3.14159..., que como todos saben es la razn entre


toda circunferencia y su dimetro.

inf:

infinito (en valor absoluto)


Ing. Adriana Ayala

UNIVERSIDAD TECNICA PARTICULAR DE LOJA


La universidad Catlica de Loja

MatLab 1

realmax: es el mximo valor positivo representable en computadora,


1.7977*10^308. Mayor que eso produce overflow.
realmin: es el mnimo valor positivo representable en computadora,
2.2251*10^308. Menor que eso produce overflow.

Si asignamos un valor a una variable x, se le puede asignar una funcin de


dicha variable a dicha variable. Por ejemplo:
y=2*x
9 Para conocer que variables estn activas, podemos utilizar:
who
9 para una lista un poco ms detallada sobre las caractersticas de
cada variable:
whos
9 Para borrar la variable activa llamada x, podemos utilizar:
clear x
9
9

9
9

para borrar todas las variables activas:


clear
Para salvar todas la variables en un archivo llamado variables.mat,
en el directorio c:/matlab/work/, usamos:
save variables
Y para cargarlas luego, se usa:
load variables
Para salvar un conjunto de variables, por ejemplo x e y, en un
archivo algunas.mat, en el directorio c:/matlab/work/, usamos:
save algunas x y z
Para cargar un conjunto de variables de un archivo, por ejemplo x,
del archivo algunas.mat:
load algunas x

Tambin a un archivo se le pueden agregar variables, sin borrar las que ya


hemos grabado. Por ejemplo para grabarle la varible h al archivo algunas:
save algunas h -append
Con escalares se puede operar normalmente con las funciones conocidas:

Ing. Adriana Ayala

UNIVERSIDAD TECNICA PARTICULAR DE LOJA


La universidad Catlica de Loja

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]

Ing. Adriana Ayala

UNIVERSIDAD TECNICA PARTICULAR DE LOJA


La universidad Catlica de Loja

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]

Genera una matriz de 3x6.


Ing. Adriana Ayala

UNIVERSIDAD TECNICA PARTICULAR DE LOJA


La universidad Catlica de Loja

MatLab 1

Operaciones con matrices:


Se puede operar con matrices normalmente, siempre respetando el rango
de las matrices:

Operacin

Operador

Suma

Resta
Transponer
Producto
Potencia

Ejemplo

b+c

'
*
^

b-c
c'
b*c'
(c'*c)^(2)

Maximizar (Minimizar) dentro de una matriz:


Para obtener un vector fila con el mximo valor de cada columna de una
matriz, se utiliza el comando:
max(a)
Por lo tanto, para obtener un vector columna con el mximo valor de
cada fila de una matriz, podemos usar el mismo comando de la siguiente
manera:
max(a')'
Si disponemos un vector, tanto fila o columna, el comando max devuelve
el mximo valor dentro de dicho vector. Entonces, para obtener el mximo
valor dentro de toda una matriz usamos:
max(max(a))
Para minimizar en vez de maximizar, utilizamos la funcin min en vez de
max.
FUNCIONES PARA EL ANLISIS DE MATRICES

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

UNIVERSIDAD TECNICA PARTICULAR DE LOJA


La universidad Catlica de Loja

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)

extrae la diagonal de la matriz A como un vector


valores propios
matriz inversa
mxima dimensin
norma
norma-n
estimacin de la norma-2
espacio nulo
ortogonalizacin
pseudoinversa
polinomio caracterstico
rango
reduccin mediante la eliminacin de Gauss de una
dimensiones
traza
matriz triangular inferior a partir de la matriz A
matriz triangular superior a partir de la matriz A

CONSTRUCCIN DE ALGUNAS MATRICES


Al igual que pasa con los vectores, existen unas sentencias que nos ayudan
a crear ms rpidamente algunas matrices que Matlab ya tiene
predefinidas (m y n deben tomar valores naturales):
zeros (n) crea una matriz cuadrada n x n de ceros.
zeros (m,n) crea una matriz m x n de ceros.
ones (n) crea una matriz cuadrada n x n de unos.
ones (m,n) crea una matriz m x n de unos.
rand (n) crea una matriz cuadrada n x n de nmeros aleatorios con
distribucin uniforme (0,1).
Ing. Adriana Ayala

UNIVERSIDAD TECNICA PARTICULAR DE LOJA


La universidad Catlica de Loja

MatLab 1

rand (m,n) crea una matriz m x n de nmeros aleatorios con distribucin


uniforme (0,1).
randn (n) crea una matriz cuadrada n x n de nmeros aleatorios con
distribucin normal (0,1).
randn (m,n) crea una matriz m x n de nmeros aleatorios con distribucin
normal (0,1).
eye (n) crea una matriz cuadrada n x n de unos en la diagonal y ceros el
resto.
eye (m,n) crea una matriz m x n de unos en la diagonal y ceros el resto.
magic (n) crea una matriz cuadrada n x n de enteros de modo que sumen
lo mismo las filas y las columnas.
hilb (n) crea una matriz cuadrada n x n de Hilbert, es decir, los elementos
(i,j) responden a la expresin (1/(i+j-1)).
invhilb (n) crea una matriz cuadrada n x n que es la inversa de la matriz de
Hilbert.
Ejemplos:
>> zeros (3) % matriz cuadrada 3 x 3 de ceros
ans =
000
000
000
>> zeros (2,5) % matriz 2 x 5 de ceros
ans =
00000
00000
>> ones (2,3) % matriz de unos
Ing. Adriana Ayala

UNIVERSIDAD TECNICA PARTICULAR DE LOJA


La universidad Catlica de Loja

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

UNIVERSIDAD TECNICA PARTICULAR DE LOJA


La universidad Catlica de Loja

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

Ing. Adriana Ayala

UNIVERSIDAD TECNICA PARTICULAR DE LOJA


La universidad Catlica de Loja

MatLab 1

DIRECCIONAMIENTO DE ELEMETOS DE VECTORES Y MATRICES


Para acceder a los elementos individuales de un vector lo haremos
utilizando subndices, as x(n) sera el n-simo elemento del vector x. Si
queremos acceder al ltimo podemos indicarlo usando end como
subndice.
Ejemplo:
>> x = [5 7 -2 4 -6];
>> x (2) % segundo elemento del vector x
ans =
7
>> x (end) % ltimo elemento del vector x
ans =
-6
Para acceder a un bloque de elementos a la vez, se usa la notacin de
dos puntos (:), as x (m:n) nos da todos los elementos desde el m-simo
hasta el n-simo del vector x.
Ejemplo:
>> x (2:4) % devuelve desde el segundo al cuarto elemento del vector x
ans =
7 -2 4
Si introducimos un nmero entre el primero y el segundo tambin separado
por dos puntos (:) se mostrarn los elementos del primero al ltimo
indicado, incrementados segn el nmero que aparece en el centro (o
decrementados si el nmero es negativo).
Ejemplo:
>> x (1:2:5) % devuelve el primero, tercero y quinto elemento del vector x
ans =
5 -2 -6
Ing. Adriana Ayala

UNIVERSIDAD TECNICA PARTICULAR DE LOJA


La universidad Catlica de Loja

MatLab 1

Otra forma de obtener un conjunto concreto de elementos del vector es


indicando entre corchetes [] las posiciones de los elementos que queremos
obtener poniendo parntesis fuera de los corchetes.
Ejemplo:
>> x ( [3 5 1] ) % devuelve el tercer, quinto y primer elemento del vector x
ans =
-2 -6 5
CONSTRUCCIN ABREVIADA DE ALGUNOS VECTORES
A parte de definir un vector introduciendo cada uno de sus elementos,
tambin podemos crearlo haciendo uso de las siguientes sentencias:
(a:b) crea un vector que comienza en el valor a y acaba en el valor b
aumentando de 1 en 1.
(a:c:b) crea un vector que comienza en el valor a y acaba en el valor b
aumentando de c en c.
linspace (a,b,c) genera un vector linealmente espaciado entre los valores
a y b con c elementos.
linspace (a,b) genera un vector linealmente espaciado entre los valores a
y b con 100 elementos.
logspace (a,b,c) genera un vector logartmicamente espaciado entre los
valores 10^a y 10^b con c elementos.
logspace (a,b) genera un vector logartmicamente espaciado entre los
valores 10^a y 10^b con 50 elementos.
Ejemplos:
>> (1:7) % crea un vector que comienza en 1, aumenta de 1 en 1 y acaba
en 7
Ing. Adriana Ayala

UNIVERSIDAD TECNICA PARTICULAR DE LOJA


La universidad Catlica de Loja

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

Ing. Adriana Ayala

UNIVERSIDAD TECNICA PARTICULAR DE LOJA


La universidad Catlica de Loja

MatLab 1

FUNCIONES PARA OPERAR CON VECTORES

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

Ing. Adriana Ayala

Anda mungkin juga menyukai