Vous êtes sur la page 1sur 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 que corresponde al lugar desde donde se interacciona con Matlab:
El smbolo orden

denota que se esta esperando una

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

Formatos de visualizacin
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 Construccin Funciones

de arrays

de arrays de arrays con escalares entre arrays

con arrays

Matemticas Matemticas Orientacin Resumen

del array

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 2 3;4 5 6;7 8 9] x(2:6)
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

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 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= 0:30:360 x = 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 m1 = -3 1 5 9 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 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

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)

Vous aimerez peut-être aussi