Upload
jordycosme
View
16
Download
0
Embed Size (px)
DESCRIPTION
proporcionado por la universidad nacional de callao . facultad de ingeniería eléctrica y electronia-cursos taller fiee
Citation preview
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 pi 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 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
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 CientficasCaractersticas Cientficas
Funciones matemticas
Nmeros complejos
Funciones matemticas
Nmeros complejos
abs(x) Valor absoluto acos(x) Arcocoseno acosh(x) Arcocoseno hiperblico angle(x) Angulo de complejos asin(x) Arcoseno asinh(x) Arcoseno hiperblico atan(x) Arcotangente atanh(x) Arcotangente hiperblica ceil(x) Redondeo hacia + conj(x) Complejo conjugado cos(x) Coseno cosh(x) Coseno hiperblico exp(x) Exponencial e1=2.71 log (x) Logaritmo neperiano
abs(x) Valor absoluto acos(x) Arcocoseno acosh(x) Arcocoseno hiperblico angle(x) Angulo de complejos asin(x) Arcoseno asinh(x) Arcoseno hiperblico atan(x) Arcotangente atanh(x) Arcotangente hiperblica ceil(x) Redondeo hacia + conj(x) Complejo conjugado cos(x) Coseno cosh(x) Coseno hiperblico exp(x) Exponencial e1=2.71 log (x) Logaritmo neperiano
Funciones matemticasFunciones matemticas
fix(x) Redondeo hacia cero floor(x) Redondeo hacia menos infinito imag(x) Parte imaginaria compleja log10(x) Logaritmo comn real(x) Parte real compleja rem(x,y) Resto de la divisin (resto al dividir x/y) round(x) Redondeo al entero ms cercano sign(x) Funcin signo sin(x) Seno sinh(x) Seno hiperblico sqrt(x) Raiz cuadrada tan(x) Tangente tanh(x) Tangente hiperblica
fix(x) Redondeo hacia cero floor(x) Redondeo hacia menos infinito imag(x) Parte imaginaria compleja log10(x) Logaritmo comn real(x) Parte real compleja rem(x,y) Resto de la divisin (resto al dividir x/y) round(x) Redondeo al entero ms cercano sign(x) Funcin signo sin(x) Seno sinh(x) Seno hiperblico sqrt(x) Raiz cuadrada tan(x) Tangente tanh(x) Tangente hiperblica
Funciones matemticasFunciones matemticas
Nmeros complejosNmeros complejosSolve
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.
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.
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
Manejo de arraysManejo de arrays
Para crear un array en Matlab:Comienza por un corchete de apertura [Los valores separados por espacios o por
comasFinaliza con un corchete de cierre ]
Ejemplo: x = [23 45 12 2+3i -2i]
Arrays simplesArrays simples
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 arraysDireccionamiento 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 arraysDireccionamiento 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
Direccionamiento de arraysDireccionamiento de arrays
Existen varias formas de crear arraysNotacin de dos puntosFuncin linspacelinspace(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 arraysConstruccin de arrays
Funcin logspacelogspace(expo1,expo2,nvalores)logspace(0,5,6)
ans = 1 10 100 1000 10000 100000
Evaluar los resultados en Matlabv1=linspace(0,6,4),v2=logspace(0,6,4)
Construccin de arraysConstruccin de 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
Funciones con arraysFunciones con arrays
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 210 240 270 300 330 360Evaluar en Matlab sind(x) >>plot(sind(x)) % comando para crear
graficos
Vector distanciaVector 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)
Vector distanciaVector distancia
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-7m1 =
-3 1 5 9 13 17
Operaciones de arrays con escalaresOperaciones de arrays con escalares
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 arrayselemento a elemento se utilizan los operandos:.* , ./ y .\ ejemplo: (a./b=b.\a)
Para la potencia elemento a elementose utiliza .^
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 arrayselemento a elemento se utilizan los operandos:.* , ./ y .\ ejemplo: (a./b=b.\a)
Para la potencia elemento a elementose utiliza .^
Operaciones entre arrays Operaciones entre arrays
Resumen de operaciones con arrays a=[a1 ... an], b=[b1 ... bn], c=escalar
Suma con un escalar a+c = [a1+c a2+c ... an+c]Multiplicacin por unescalar
a*c = [a1*c a2*c ... an*c]
Suma de arrays a+b = [a1+b1 a2+b2 ... an+bn]Multiplicacin de arrays a.*b = [a1*b1 ,a2*b2 ...
an*bn]Divisin por la derechade arrays
a./b = [a1/b1 a2/b2 ... an/bn]
Divisin por laizquierda de arrays
a.\b = [a1\b1 a2\b2 ... an\bn]
Potencias de arrays a.^c = [a1^c a2^c ... an^c]c.^a = [c^a1 c^a2 ... c^an]a.^b = [a1^b1 a2^b2 ... an^bn]
Suma con un escalar a+c = [a1+c a2+c ... an+c]Multiplicacin por unescalar
a*c = [a1*c a2*c ... an*c]
Suma de arrays a+b = [a1+b1 a2+b2 ... an+bn]Multiplicacin de arrays a.*b = [a1*b1 ,a2*b2 ...
an*bn]Divisin por la derechade arrays
a./b = [a1/b1 a2/b2 ... an/bn]
Divisin por laizquierda de arrays
a.\b = [a1\b1 a2\b2 ... an\bn]
Potencias de arrays a.^c = [a1^c a2^c ... an^c]c.^a = [c^a1 c^a2 ... c^an]a.^b = [a1^b1 a2^b2 ... an^bn]
lgebra matricial
Manipulacin matricial
Matrices especiales
lgebra matricial
Manipulacin matricial
Matrices especiales
lgebra matriciallgebra 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
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 matriciallgebra 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 3x3 72 double
B 3x3 72 double
C 2x3 48 double
>> 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 3x3 72 double
B 3x3 72 double
C 2x3 48 double
lgebra matriciallgebra matricial
>>A = [ 1 2 3; 4 5 6 ; 7 8 9]A =
1 2 34 5 67 8 9
>> B = [2 4 6 ; 8 10 12 ; 14 16 18]B =
2 4 68 10 1214 16 18
size(A)ans =
3 3 (indica que tiene 3 filas y 3 columnas
>>A = [ 1 2 3; 4 5 6 ; 7 8 9]A =
1 2 34 5 67 8 9
>> B = [2 4 6 ; 8 10 12 ; 14 16 18]B =
2 4 68 10 1214 16 18
size(A)ans =
3 3 (indica que tiene 3 filas y 3 columnas
lgebra matriciallgebra matricial
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 35 6
>> A(1:2,2:3) % indica transposicinans =
2 43 5
>>D = [ [1 2 3] [2 4 7] [3 5 8]]D =
1 2 32 4 53 7 8
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 35 6
>> A(1:2,2:3) % indica transposicinans =
2 43 5
>>D = [ [1 2 3] [2 4 7] [3 5 8]]D =
1 2 32 4 53 7 8
Adicin de elementos a una matriz
>> E=[1 2 3 ;4 5 6 ]E =
1 2 34 5 6
>> E(3,:)=[10 14 18]
E =1 2 34 5 610 14 18
>> AW= [3 6 9 ; 8 5 11]
AW =
3 6 98 5 11
>> AW(4,5)= 17 % AGREGRAMOS UM TERMINO A LA MATRIZ EN (m,n)
AW =
3 6 9 0 08 5 11 0 00 0 0 0 00 0 0 0 17
Adicin de elementos a una matriz
>> E=[1 2 3 ;4 5 6 ]E =
1 2 34 5 6
>> E(3,:)=[10 14 18]
E =1 2 34 5 610 14 18
>> AW= [3 6 9 ; 8 5 11]
AW =
3 6 98 5 11
>> AW(4,5)= 17 % AGREGRAMOS UM TERMINO A LA MATRIZ EN (m,n)
AW =
3 6 9 0 08 5 11 0 00 0 0 0 00 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)
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.
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.
Manipulacin matricialManipulacin matricial
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)
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)
Matrices especialesMatrices especiales