You are on page 1of 47

* Fundamentos

Bsicos de Matlab

*Qu es Matlab?
*Una herramienta para hacer clculos matemticos que
utiliza como elemento bsico la matriz.

*Un lenguaje de programacin:


*interactivo: rdenes
*avanzado pero fcil de utilizar: archivos.m

*Plataforma de desarrollo: toolboxes

*Qu se puede realizar?


*Anlisis de datos
*Polinomios
*Grficos 2D
*Grficos 3D
*Ajuste de curvas
*Interpolacin
*Anlisis numrico

*Espacio de trabajo
*Al ejecutarse Matlab se crea una ventana de trabajo

que corresponde al lugar desde donde se interacciona


con Matlab:

*El smbolo denota que se esta esperando una orden

*Matlab recuerda las rdenes ya dadas y los valores de


cualquier variable (en el espacio de trabajo):

*recordar rdenes previas: y . Editar: y


*recordar variables: escribir su nombre

*Espacio de trabajo
*Funciones para el manejo de las variables en el espacio
de trabajo:

*who lista las de las memorias del espacio de trabajo


*whos lista las memorias del espacio de trabajo con
informacin de su tamao
*save almacena las memorias en un archivo de extensin
*.mat

*load recupera variables almacenadas en el disco


*clear borra las variables del espacio de trabajo

*Funciones bsicas
*Suma: +
*resta: *multiplicacin: *
*divisin: \ /
*potencia: ^

*Comentarios tiles
*Evala expresiones de izquierda a derecha:

* 1 potencias, 2 multiplicaciones y divisiones, y 3 sumas y restas.

*Nombres de variables o memorias:

* Siempre debe comenzar con una letra, seguidas de letras o nmeros si se


lo desea.
* Slo se recuerdan los primeros 17 dgitos de una memoria.
* Distingue maysculas y minsculas

*; al final de lnea no imprime el resultado.


*A partir del smbolo % se considera comentario.

*Comentarios tiles
*ans almacena el resultado por defecto
*Si una orden es demasiado larga, se escriben ...

seguido de enter para continuar en la siguiente


lnea, no en todos los casos es posible usar este
comando.
*Matlab se interrumpe con ctrl-c

*Matlab se cierra con el comando quit

*Variables predefinidas
*ans Nombre de la variable por defecto usado en los resultados
*pi Nmero
*eps El ms pequeo de los nmeros que al sumarle 1 da un
nmero en coma flotante mayor que 1
*inf Infinito
*NaN Indefinido
*i,j i=j=sqrt(-1)
*realmin Nmero real positivo ms pequeo que se puede usar
2.2251e-308
*realmax Nmero real positivo ms grande que se puede usar
1.7977e+308

*
Comando

Ejemplo

Comentario

format long

35.83333333333334

16 dgitos

format short e

3.5833e+01

5 dgitos mas exponente

format long e

35.83333333333334e+01 16 dgitos mas exponente

format hex

4041eaaaaaaaaab

hexadecimal

format bank

35.83

2 dgitos decimales

format +

positivo, negativo o cero

format rat

215/6

aproximacin racional

format short

35.8333

visualizacin por defecto

Caractersticas Cientficas
Funciones
Nmeros

matemticas

complejos

Funciones matemticas
abs(x)
acos(x)
acosh(x)
angle(x)
asin(x)
asinh(x)
atan(x)
atanh(x)
ceil(x)
conj(x)
cos(x)
cosh(x)
exp(x)
log (x)

Valor absoluto
Arcocoseno
Arcocoseno hiperblico
Angulo de complejos
Arcoseno
Arcoseno hiperblico
Arcotangente
Arcotangente hiperblica
Redondeo hacia +
Complejo conjugado
Coseno
Coseno hiperblico
Exponencial e1=2.71
Logaritmo neperiano

Funciones matemticas
fix(x)
floor(x)
imag(x)
log10(x)
real(x)
rem(x,y)
round(x)
sign(x)
sin(x)
sinh(x)
sqrt(x)
tan(x)
tanh(x)

Redondeo hacia cero


Redondeo hacia menos infinito
Parte imaginaria compleja
Logaritmo comn
Parte real compleja
Resto de la divisin (resto al dividir x/y)
Redondeo al entero ms cercano
Funcin signo
Seno
Seno hiperblico
Raiz cuadrada
Tangente
Tangente hiperblica

Nmeros complejos
Solve

es una funcin que resuelve sistemas del tipo


x^3+2*x^2+3*x+x+5=0
El

nmero imaginario puro se representa


por i o j
Cualquier nmero seguido de i representa un nmero
imaginario

Hay

funciones especficas para su manejo:

real(x)
imag(x)
conj(x)
angle(x), etc.

Funciones internas de MATLAB


b = sqrt(x);
Una de las grandes ventajas de MATLAB es que los argumentos de la
funcin, por lo general, pueden ser escalares o matrices. En el ejemplo, si
x es un escalar, se regresa un resultado escalar. Por tanto, el enunciado

>>x = 9;
>>b =sqrt(x)
regresa un escalar: 3
Sin embargo, la funcin raz cuadrada, s'qrt, tambin puede aceptar
matrices como entrada. En este caso, se calcula la raz cuadrada de cada
elemento, de modo que regresa:

>>x = [4, 9, 16];


>>b = sqrt(x)
>>b = 2 3 4

Algunas funciones requieren mltiples entradas. Por ejemplo, la funcin


residuo (remainder), rem, requiere dos entradas: un dividendo y un
divisor.
Esto se representa como rem(x,y), de modo que:
>> rem( 10,3)
calcula el residuo de 10 dividido entre 3:
ans =
1
>> rem(180,7)
ans =

5
>> rem(20,5)
ans =
0

La funcin size es un ejemplo de una funcin que regresa dos salidas.


Determina el nmero de filas y columnas en una matriz. Por tanto,
>>d =[1, 2, 3 ; 4, 5, 6] ;
>>f =size(d)
regresa la matriz resultante 1 X 2
f=
2 3
Tambin puede asignar nombres de variable a cada una de las
respuestas al representar el lado izquierdo del enunciado de asignacin
como una matriz. Por ejemplo,
>>[x,y] = size (d)
produce
x=
2
y=
3

Tambin puede crear expresiones complicadas mediante funciones


anidadas (nesting).Por ejemplo:
>> g=sqrt(sin(x))
g=
0.9536
Obs: a x se le asign un valor de 2.
>> a=sin(x);
>> g= sqrt(a)
g=
0.9536

Uso de la ayuda HELP


MATLAB incluye extensas herramientas de ayuda, lo que es especialmente til
para entender cmo usar las funciones.
Existen dos formas de obtener ayuda desde el interior de MATLAB: una
funcin de ayuda de lnea de comando (>> help) y un conjunto de
documentos HTML disponibles al seleccionar Help de la barra de men o al
usar la tecla de funcin F1,

Funciones matemticas elementales

Las funciones
matemticas elementales
incluyen logaritmos,
exponenciales, valor
absoluto, funciones de
redondeo y funciones que
se usan en matemticas
discretas, aceptan un
escalar o una matriz de x
valores.

Funciones de redondeo
MATLAB contiene funciones para algunas diferentes tcnicas de redondeo .

>> -5/0.52
ans =
-9.6154
>> fix(5/0.52 )
ans =
9
>> fix(-5/0.52 )
ans =
-9

Matemticas discretas

MATLAB incluye funciones para factorizar nmeros, encontrar


denominadores y mltiplos comunes, calcular factoriales y explorar
nmeros primos . Todas estas funciones requieren escalares enteros como
entrada.
Adems, MATLAB incluye la funcin rats, que expresa un nmero punto
flotante como un nmero racional, esto es, una fraccin.

Matemticas
discretas

Funciones trigonomtricas
MATLAB incluye un conjunto completo de las funciones trigonomtricas
estndar y las funciones trigonomtricas hiperblicas. La mayora de estas
funciones suponen que los ngulos se expresan en radianes.

*Manejo de arrays
* Arrays simples
* Direccionamiento de arrays
* Construccin de arrays
* Funciones con arrays
* Matemticas de arrays con escalares
* Matemticas entre arrays
* Orientacin del array
* Resumen de operaciones con arrays

*Arrays simples
* Para crear un array en Matlab:
* Comienza por un corchete de apertura [
* Los valores separados por espacios o por comas
* Finaliza con un corchete de cierre ]

* Ejemplo:
*x

= [23 45 12 2+3i

-2i]

*Direccionamiento de arrays
* Para acceder a elementos individuales se
utilizan subndices entre parntesis

* Ejemplo:
*
*

x = [1 2 3;4 5 6;7 8 9]
x(2,3)
ans =
6

x(6)
ans =
8

*Direccionamiento de arrays
*Para direccionar un bloque de elementos, Matlab
proporciona la notacin de dos puntos:
primero:incremento:ltimo
*Ejemplo:

* x = [1
*x(2:6)

2 3;4 5 6;7 8 9]

ans =

4 7 2 5 8
*x(2:2:6)
ans =

4 2 8

*Direccionamiento de arrays
*Para direccionar elementos aislados se utiliza un
array de ndices
*Ejemplo:
* x=[23 45 12 2+3i -2i 32 12];
x([4 1 2])
ans =
2+3i 23 45
x([1 4 7])
ans =
23 2+3i 12

*Construccin de arrays
*Existen varias formas de crear arrays
*Notacin de dos puntos
*Funcin linspace
linspace(primero,ltimo,nvalores)
va=linspace(0,8,6),ve=linspace(10,-0.5,5)
va = 0

1.6000

ve = 10.0000

3.2000

7.3750

4.8000
4.7500

6.4000
2.1250

8.0000

-0.5000

*Construccin de arrays
*Funcin logspace
logspace(expo1,expo2,nvalores)
logspace(0,5,6)
ans =
1
100000

10

100

1000

Evaluar los resultados en Matlab


v1=linspace(0,6,4),

v2=logspace(0,6,4)

10000

*Funciones con arrays


*Las funciones se aplican a los elementos individuales
de los arrays

*Ejemplo:
*
*

x = [0 pi/4 pi/2 3*pi/4 pi]


sin(x)
ans =
0

0.7071

1.0000

0.7071 0.0000

cos(x)
ans =
1.0000 0.7071 0.0000 -0.7071 -1.0000

*Vector distancia
*Establece una distancia o espaciado constante entre los
elementos de un vector.

*Ejemplo:
*
*x

x= 0:30:360
=

0
270

30
300

60
330

90
360

120

150

180

210

Evaluar en Matlab

* sind(x)
* >>plot(sind(x))

% comando para crear grficos

240

*Vector distancia
Evaluar en Matlab

x1=0:2:360 ; sind(x1);

>>plot(sind(x1))

>>plot(sind(x1)+1)
Evaluar en Matlab

x1=0:2:360 ; y1=sind(x1);
y2=cosd(x1); plot(x1,y1,x1,y2)

*Operaciones de arrays con escalares


*La suma, resta, multiplicacin y divisin por un

escalar simplemente aplica la operacin a todos los


elementos del array

*Ejemplo:
*>> x=

[1 2 3 4 5 6]; m1=4*x-7

m1 =
-3

13

17

Operaciones entre arrays

Cuando dos arrays tienen la misma longitud, la


suma y la resta se aplican sobre la base de
elemento a elemento
Para multiplicar o dividir dos arrays elemento
a elemento se utilizan los operandos:
.* , ./ y .\ ejemplo: (a./b=b.\a)
Para la potencia elemento a elemento se
utiliza .^

*Resumen de operaciones con arrays


*a=[a1

... an], b=[b1 ... bn], c = escalar

Suma con un escalar


Multiplicacin por un
escalar
Suma de arrays
Multiplicacin de arrays

a+c
a*c

= [a1+c a2+c ... an+c]


= [a1*c a2*c ... an*c]

a+b = [a1+b1 a2+b2 ... an+bn]


a.*b = [a1*b1 ,a2*b2 ...
an*bn]
Divisin por la derecha a./b = [a1/b1 a2/b2 ... an/bn]
de arrays
a.\b = [a1\b1 a2\b2 ... an\bn]
Divisin por la
izquierda de arrays
a.^c = [a1^c a2^c ... an^c]
Potencias de arrays
c.^a = [c^a1 c^a2 ... c^an]
a.^b = [a1^b1 a2^b2 ... an^bn]

lgebra matricial
lgebra

matricial

Manipulacin

Matrices

matricial

especiales

lgebra matricial

Matlab originariamente fue diseado para simplificar el


clculo del lgebra lineal
Para definir una matriz se distinguen las filas por ; o se
introduce enter

A. es la matriz transpuesta de A

A es la traspuesta conjugada de A

det(A) calcula el determinante de A

inv(A) es la inversa de A

rank(A) devuelve el rango de la matriz A

norm(A) calcula la normal de A

poly(A) obtiene el polinomio caracterstico de la matriz A

lgebra matricial
>> C=[3 6 9 ; 12 15 17]
C=
3
6
9
12 15 17
>> size(C)
ans =
2
3
Ejecutamos el siguiente comando whos
>> whos
Name
Size
Bytes Class
Attributes
A
B
C

3x3
3x3
2x3

72 double
72 double
48 double

lgebra matricial
>>A = [ 1 2 3; 4 5 6 ; 7 8 9]
A =
1
2
3
4
5
6
7
8
9
>> B = [2 4 6 ; 8 10 12 ; 14 16 18]
B =
2
4
6
8
10
12
14
16
18
size(A)
ans =
3
3
(indica que tiene 3 filas y 3 columnas

Podemos trabajar con diferentes partes de una matriz


A=
1
2
3
4
5
6
7
8
9
>>A(1:2,3:4)
Index exceeds matrix dimensions.
>>A(1:2,2:3)
ans =
2
3
5
6
>> A(1:2,2:3)
ans =
2 4
3 5

% indica transposicin

>>D = [ [1 2 3] [2 4 7] [3 5 8]]
D=
1
2
3

2
4
7

3
5
8

Adicin de elementos a una matriz


>> E=[1 2 3 ;4 5 6 ]

E=
1
4

2
5

E=
1
4
10

2
5
14

3
6

>> E(3,:)=[10 14 18]


3
6
18

>> AW= [3 6 9 ; 8 5 11]


AW =
3
8

6
5

9
11

>> AW(4,5)= 17

AW =
3
8
0
0

6
5
0
0

9
11
0
0

0
0
0
0

0
0
0
17

AGREGRAMOS UM TERMINO A LA MATRIZ EN (m,n)

*Comandos: zeros(m,n),

ones(m.n), eye(n)

*Ejemplo: utilizando comandos ones y zeros crear una matriz


4x5 en la cual las 2 primeras filas sean ceros y las dos
siguientes unos.
Sol:
>> R(1:2,:)= zeros(2,5)
>> R(3:4,:)=ones(2,5)

*Crear una matriz 6x6 en la cual las 2 filas centrales junto a


las 2 columnas centrales sean unos, siendo el resto ceros.
Sol:
>> AR= zeros(6,6)
>> AR(3:4,:)=ones(2,6)
AR(:,3:4)=ones(6,2)

Manipulacin matricial
Los

elementos de una matriz se indican


con su fila y columna: A(columna, fila)
Con los dos puntos (:) se puede
seleccionar toda la fila o columna:
A(:,1), B(2,:)

find(x) transforma una matriz en una

sucesin de valores del tipo columna.


size(x) devuelve el tamao en filas y
columnas.

Matrices especiales
Matriz de ceros: zeros(n,m)
Matriz de unos: ones(n,m)
Matriz aleatoria con distribucin uniforme
(entre 0 y 1): rand(n,m)
Matriz aleatoria con distribucin normal
(media 0 y varianza 1): randn(n,m)
Matriz identidad: eye(n)

You might also like