matlab and simulink teoria

105
Fundamentos Básicos de Matlab -LCA- Fundamentos de informática FRRO

Upload: macuax

Post on 22-Jul-2015

249 views

Category:

Documents


0 download

TRANSCRIPT

Fundamentos Bsicos de Matlab

-LCA-

Fundamentos de informtica

FRRO

Mi nombre es:

Arce, Gerardo.

Clases:1

Teora Matlab & Simulink. 3 Practica Matlab. 3 Practica Simulink. 1 Consulta del TPF.

Como regularizar: Entregar

todas las prcticas.

9 de Matlab. 5 de Simulink. Presentar

el TPF y defenderlo (individual). Responder de 5 a 8 preguntas tericas.Todo en un tiempo menor a 10min ya que todos tienen derecho a rendir el mismo da.

Practicas de Matlab:

N 1: Manejo de Matrices. N 2: Manejo de Nmeros Complejos. N 3: Manejo de Archivos *.M N 4: Programacin (Resolucin de sistema 3x3). N 5: Programacin (Ley de OHM). N 6: Programacin (De tabla papel a digital). N 7: Programacin (Maximizacin de las utilidades). N 8: Programacin (Resolucin de 2 mallas elctricas). N 9: Programacin (Utilizando la herramienta creada en la prctica N 6, resolver 3 curvas).

Practicas de Simulink:N N N N N

1: 2: 3: 4: 5:

Calculo de desfasage. Mxima resistencia. Maximizacin de rea. Diagrama de M y Q (Sistema simtrico). Diagrama de M y Q (Sistema asimtrico).

Trabaja Practico Final (TPF) : Es

individual y nico (No hay grupos). Se deber resolver el problema que se plantea. Entregar una memoria de calculo similar a la que se expresa en las practicas.

Teora: El

da de la entrega del TPF adems de defenderlo y presentar todas las practicas se deber rendir teora. Contestar rpidamente de 5 a 8 preguntas tericas que abarcan todo lo dado.

Recuperatorio: En

el caso de fallar en cualquiera de las 3 pautas. Practicas. + (Preguntas) TPF. + (Defensa) + (WORD) Teora. (de 5 a 8 preguntas)

En

el recuperatorio solo se le tomar lo fallo o que falto.

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

Ventajas del Matlab

Su programacin requiere menos tiempo que otros lenguajes como FORTRAN, C, Pascal, etc.Utiliza un lenguaje ms cercano a la matemtica. Permite definir fcil y rpidamente nuevas funciones que se incorporan a Matlab (mediante el toolboxes) Grandes capacidades grficas.

Qu se puede realizar?Anlisis de datos Polinomios Grficos 2D Grficos 3D (No vamos a llegar a dar). 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 bsicasSuma:

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

Ejemplo35.83333333333334 3.5833e+01

Comentario16 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 matemticasabs(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 matemticasfix(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 = 8 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

arrays

varias formas de crear

Notacin de dos puntos Funcin linspacelinspace(primero,ltimo,nvalores)

Funcin logspacelogspace(expo1,expo2,nvalores)

Funciones con arraysLas 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

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]; 4*x-7 ans = -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=escalarSuma 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 enterA. 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

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)

Operaciones y funciones Operaciones Operaciones Funciones

relacionales lgicos

relacionales y lgicas

Operadores relacionales

Efectan la comparacin, elemento a elemento, entre dos matrices y dan como resultado una matriz cuyos elementos son 1 si la relacin es cierta y 0 si es falsa.Operador < >= == ~= DescripcinMenor que Menor que o igual a Mayor que Mayor que o igual a Igual a No igual

Operadores lgicos Operadores

lgicos:Operador & | ~ Descripcin AND OR NOT

Funciones relacionales y lgicasFuncin xor(x,y) Descripcin Compara las matrices x e y luego genera una nueva matriz, en donde coloca 1 en donde los valores coinciden y 0 donde son diferentes Devuelve cero si todo un vector columna esta formado por ceros Devuelve cero si existe por lo menos un cero en el vector columna Devuelve 1 en la posicin de la matriz x donde se encuentra un NaNs y 0 los otros. Devuelve 1 en la posicin de la matriz x donde se encuentra un Infs y 0 los otros. Devuelve 1 en la posicin de la matriz x donde se encuentra un numero finito y 0 los otros.

any(x) all(x) isnan(x) isinf(x) finite(x)

Archivos .m Qu Para

son?qu sirven?

Tipos

de archivos.mde funciones

Caractersticas Ejemplo Pasos

de funcin

que sigue Matlab

Qu son? Matlab

permite crear funciones nuevas en forma de archivos con extensin *.m y almacenados Un archivo *.m es una secuencia de rdenes de Matlab que puede contener, incluso, referencias a otros archivo *.m Los archivo *.m son textos ASCII creados con cualquier editor o procesador de texto

Para qu sirven? Automatizar

secuencias de rdenes que se utilizan de forma repetitiva Proporcionar extensibilidad a Matlab con la posibilidad de aadir nuevas funciones cuya utilizacin no difiere de las que incluye originalmente Toolbox

Tipos de archivos *.m Archivos

Seno Coseno Tangente etc

predefinidos:

Archivos

Son un compendio de funciones predefinidas ya sea matrices, vectores, senos, cosenos, etc. que generan un programa nuevo y especifico

propios:

Caractersticas de funciones El

nombre de la funcin y del archivo debe ser el mismo Esta se ejecuta desde el entorno de Matlab por primera vez Son capaces de generar programas emergentes y trabajar en un entorno fuera del Matlab para nosotros pero los clculos siguen siendo ejecutados dentro del Matlab

Pasos que sigue Matlab Al

dar por ejemplo, la orden: matlabsi matlab es una variable si matlab es una funcin de actual directorio si existe un el nombre matlab.m

Comprueba Comprueba Matlab Busca en el archivo con

Busca, en los directorios especificados en la variable path, el archivo matlab.m Por ultimo lo ejecuta

Control de flujo Bucle Bucle

for while if-else

Estructuras

Bucle for

La forma general es: for n=1:5

x(n)=n*2end Los comandos entre las sentencias for y end se ejecutan una vez hasta llegar a su fin pudiendo tambin utilizar una matriz como rango de evaluacin Resultado:x= 2 x= 2 x= 2 x= 2 x= 2

4 4 4 4 6 6 6 8 8 10

Bucle while La

forma general es:while expresin de veracidad comandos end

Los

comandos entre las sentencias while y end se ejecutan mientras todos los elementos a evaluar sean verdaderos

Ejemplo de Bucle whilen=1; while n