You are on page 1of 37

* 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
*El smbolo denota que se esta esperando una orden
que corresponde al lugar desde donde se interacciona con Matlab:

*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:
*Nombres de variables o memorias:
* 1 potencias, 2 multiplicaciones y divisiones, y 3 sumas y restas.

* 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
format long format short e format long e format hex format bank format + format rat format short

Ejemplo
35.83333333333334 3.5833e+01

Comentario
16 dgitos 5 dgitos mas exponente

35.83333333333334e+01 16 dgitos mas exponente 4041eaaaaaaaaab 35.83 + 215/6 35.8333 hexadecimal 2 dgitos decimales positivo, negativo o cero aproximacin racional 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.

*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) 6 x(6) 8 ans = ans =

*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)
ans =

2 3;4 5 6;7 8 9]

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

4 2 8

* Para direccionar elementos aislados se utiliza un array de


ndices * Ejemplo:

*Direccionamiento de arrays

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 3.2000 4.8000 6.4000 8.0000

ve = 10.0000

7.3750

4.7500

2.1250

-0.5000

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

Evaluar los resultados en Matlab v1=linspace(0,6,4), v2=logspace(0,6,4)

*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 cos(x) ans = 1.0000 0.7071 0.0000 -0.7071 -1.0000 0.7071 1.0000 0.7071 0.0000

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

* *x

x= 0:30:360 = 0 30 60 90 120 150 180 240 270 300 330 360 Evaluar en Matlab * sind(x) * >>plot(sind(x)) % comando para crear graficos

210

*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 1 5 9 13 17 m1 = -3

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
a+c a*c = [a1+c a2+c ... an+c] = [a1*c a2*c ... an*c] Suma con un escalar Multiplicacin por un escalar Suma de arrays Multiplicacin de arrays

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 matricial

Manipulacin

Matrices

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

3 6

>> E(3,:)=[10 14 18] E= 1 4 10 >> AW= [3 6 9 ; 8 5 11] AW = 3 8 6 5 9 11 % AGREGRAMOS UM TERMINO A LA MATRIZ EN (m,n) 2 5 14 3 6 18

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

*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