introduccion matlab emily

Upload: georgina-violet-ramirez

Post on 15-Oct-2015

82 views

Category:

Documents


0 download

TRANSCRIPT

Presentacin de PowerPoint

Programacion con MatlabMC. EMILY SAUCEDO MARISCALUANL- FIME

FIME-UANL MC. EMILY SAUCEDOElementos de MatlabManejo de datos, generacin de vectoresOperadores y su funcin con vectoresGeneracin matricesFunciones matemticas Graficas 2D y DCreacin de funciones Aplicaciones en fisicaAplicaciones en ingenieriaAplicaciones en procesado de imagen

FIME-UANL MC. EMILY SAUCEDOMatlabQue es Matlab?Matrix Laboratory

Ambiente amigable y de fcil aprendizajeReduccin de tiempo de programacin

El proceso de operaciones con matrices Cuenta con miles de funciones, con su uso se ahorra tiempo de programacin

ToolboxFIME-UANL MC. EMILY SAUCEDOToolboxesMATLAB Product FamilyMATLAB Parallel Computing Toolbox MATLAB Distributed Computing Server

Math and OptimizationOptimization Toolbox Symbolic Math Toolbox Partial Differential Equation Toolbox Global Optimization Toolbox

Statistics and Data AnalysisStatistics Toolbox Neural Network Toolbox Curve Fitting Toolbox Spline Toolbox Model-Based Calibration Toolbox

Control System Design and AnalysisControl System Toolbox System Identification Toolbox Fuzzy Logic Toolbox Robust Control Toolbox Model Predictive Control Toolbox Aerospace Toolbox

Signal Processing and CommunicationsSignal Processing Toolbox Signal Processing Blockset Communications Toolbox Filter Design Toolbox Filter Design HDL Coder Wavelet Toolbox Fixed-Point Toolbox RF Toolbox

Image and Video ProcessingImage Processing Toolbox Video and Image Processing Blockset Image Acquisition Toolbox Mapping Toolbox FIME-UANL MC. EMILY SAUCEDOToolboxesTest and MeasurementData Acquisition Toolbox Instrument Control Toolbox Image Acquisition Toolbox SystemTest OPC Toolbox Vehicle Network Toolbox

Computational BiologyBioinformatics Toolbox SimBiology

Computational FinanceFinancial Toolbox Financial Derivatives Toolbox Datafeed Toolbox Fixed-Income Toolbox Econometrics Toolbox

Application DeploymentMATLAB Compiler Spreadsheet Link EX (for Microsoft Excel)

Application Deployment TargetsMATLAB Builder EX (for Microsoft Excel) MATLAB Builder NE (for Microsoft .NET Framework) MATLAB Builder JA (for Java language)

Database Connectivity and ReportingDatabase Toolbox MATLAB Report Generator

FIME-UANL MC. EMILY SAUCEDOSimulinkSimulinkSimulink Simulink Report Generator

Fixed-Point ModelingSimulink Fixed Point

Event-Based ModelingStateflow SimEvents

Physical ModelingSimscape SimMechanics SimPowerSystems SimDriveline SimHydraulics SimElectronics Simulation GraphicsSimulink 3D Animation Gauges Blockset

Control System Design and AnalysisSimulink Control Design Aerospace Blockset Simulink Design Optimization

Signal Processing and CommunicationsSignal Processing Blockset Communications Blockset RF Blockset Video and Image Processing Blockset

FIME-UANL MC. EMILY SAUCEDOSimulinkCode GenerationReal-Time Workshop Real-Time Workshop Embedded Coder Stateflow Coder Simulink HDL Coder Target Support Package DO Qualification Kit (for DO-178) IEC Certification Kit (for IEC 61508 and ISO 26262) Simulink PLC Coder

Rapid Prototyping and HIL SimulationxPC Target xPC Target Embedded Option Real-Time Windows Target

Verification, Validation, and TestSimulink Verification and Validation Simulink Design Verifier SystemTest Embedded IDE Link EDA Simulator Link

FIME-UANL MC. EMILY SAUCEDOIntroduccin a Matlab:la ventana de comandosVentana donde introducir los comandos a ejecutarel cursor aparece siempre despus del smbolo >>

Ejemplo: operaciones aritmticasIntroduzca, presionando enter/intro despus del ultimo carcter>>9+2>>9-1>>9*2>>9/2

FIME-UANL MC. EMILY SAUCEDOEjercicio 1Evalu las siguientes operaciones9 (3 + 5) 6/49 3 + 5 6/40.5 + 4.1 32 20.5 + 4.1 3(2 2).

Evale-

-

-Evalu las siguientes operaciones con nmeros complejos

(1 + i) + (2 i)(1 + i) (2 i)(1 + i)/(2 i)(1 + i) (1 i)

FIME-UANL MC. EMILY SAUCEDOCreacin de variablesLa creacin de una variable numrica en memoria se hace al asignarle algn valor a un carcter por medio del smbolo =.

Ejemplos

>> a=4a= 4

>>b=3+ib=

3+1i

>>c=signalc=

signalFIME-UANL MC. EMILY SAUCEDOFunciones de matlabclclimpia comandos de la ventana

diaryalmacena la sesion para presentar

dosEjecuta comandos

formatAjusta el formato de visualizacion para la salida

editEdita o crea un nuevo m-file

helpayudaclearremueve todo lo que esta en las ventanas

who, whoslista las variables de la ventana

clfborra las figuras

whyquien?FIME-UANL MC. EMILY SAUCEDOFunciones matemticasTrigonometricacosInverse cosine; result in radiansacosdInverse cosine; result in degreesacoshInverse hyperbolic cosineacotInverse cotangent; result in radiansacotdInverse cotangent; result in degreesacothInverse hyperbolic cotangentacscInverse cosecant; result in radiansacscdInverse cosecant; result in degreesacschInverse hyperbolic cosecantasecInverse secant; result in radiansasecdInverse secant; result in degreesasechInverse hyperbolic secantasinInverse sine; result in radiansasindInverse sine; result in degreesasinhInverse hyperbolic sineatanInverse tangent; result in radiansatan2Four-quadrant inverse tangentatandInverse tangent; result in degreesatanhInverse hyperbolic tangent

cosCosine of argument in radianscosdCosine of argument in degreescoshHyperbolic cosinecotCotangent of argument in radianscotdCotangent of argument in degreescothHyperbolic cotangentcscCosecant of argument in radiansCscdCosecant of argument in degreesCschHyperbolic cosecanthypotSquare root of sum of squaressecSecant of argument in radianssecdSecant of argument in degreessechHyperbolic secantsinSine of argument in radianssindSine of argument in degreessinhHyperbolic sine of argument in radianstanTangent of argument in radianstandTangent of argument in degreesTanhHyperbolic tangent

FIME-UANL MC. EMILY SAUCEDOFunciones matemticasexpExponentialexpm1Compute exp(x)-1 accurately for small xlogNatural logarithmlog10Common (base 10) logarithmlog1pCompute log(1+x) accurately for small xlog2Base 2 logarithm and dissect floating-point numbers into exponent and mantissanextpow2Next higher power of 2nthrootReal nth root of real numberspow2Base 2 power and scale floating-point numbersreallogNatural logarithm for nonnegative real arraysrealpowArray power for real-only outputrealsqrtSquare root for nonnegative real arrayssqrtSquare root

absAbsolute value and complex magnitudeanglePhase angle

complexConstruct complex data from real and imaginary componentsconjComplex conjugatecplxpairSort complex numbers into complex conjugate pairsiImaginary unitimagImaginary part of complex numberisrealDetermine whether input is real arrayjImaginary unitrealReal part of complex numbersignSignum functionunwrapCorrect phase angles to produce smoother phase plots

ceilRound toward infinityfixRound toward zerofloorRound toward minus infinityidivideInteger division with rounding optionmodModulus after divisionremRemainder after divisionroundRound to nearest integerFIME-UANL MC. EMILY SAUCEDOEjercicios 2Evale las siguientes variables

y=exp(2)+sqrt(3)FIME-UANL MC. EMILY SAUCEDO

Despliega grafica del seno en puntos azulesDespliega grafica del coseno en diamantes verdesFIME-UANL MC. EMILY SAUCEDO

>>[X, Y]=meshgrid(-2:.2:2,-3:0.5:3)>>Z=X.^2.*Y>>plot3(X,Y,Z)Grficos tridimensionalesFIME-UANL MC. EMILY SAUCEDOCreacin de vectoresLa creacin de un arreglo de datos (vector) se realiza a travs de una operacin para la cual se tienen las siguientes funciones.

Ordenar todos los elementos entre corchetes y asignarlos a la variable

a=[0,1,2,3,4,5,6,7,8,9]

Crear una serie de datos con el operador :

a=0:9

Crear una serie de datos con el operador : e indicarle el intervalo entre elementos

a=0:1:9

Utilizar la funcin linspace

a=linspace(0,9,10)>> a=linspace(0,9,10)a = 0 1 2 3 4 5 6 7 8 9>> % Arroja valores del 0 al 10FIME-UANL MC. EMILY SAUCEDOCreacin de vectoresEjercicios 3: introduzca los siguientes vectores

>> A=[1 2 1]

A =

1 2 1FIME-UANL MC. EMILY SAUCEDOOperaciones con vectoressintaxisoperacincondicinA+BsumaAmbos vectores deben tener el mismo numero de elementosA-BrestaAmbos vectores deben tener el mismo numero de elementos.

A*BmultiplicacinAmbos vectores deben tener el mismo numero de elementos. El producto dependera del tipo de vectores: rengln (horizontal) o columna (vertical).

A.*B

Multiplicacin elemento a elemento

Ambos vectores deben tener el mismo numero de elementos. Ambos vectores deben ser del mismo tipo: rengln o columna.

FIME-UANL MC. EMILY SAUCEDOOperaciones con vectoressintaxisoperacincondicinA/BdivisinEs equivalente a B*inv(A). B/A = (A'\B'). Ambos vectores deben tener el mismo numero de elementos. A./BDivisin elemento a elementoLa divisin comn aplicada a cada elemento. Ambos vectores deben tener el mismo numero de elementos. A\BdivisionEs equivalente a inv(A)*B. X=A\B es la solucionde la ecuacin AX=B calculada por eliminacingaussiana

A.\BMultiplicacion elemento a elemento

A.\B = B./A . Ambos vectores deben tener el mismo numero de elementos.

FIME-UANL MC. EMILY SAUCEDOOperaciones con vectoressintaxisoperacincondicinA^BexponencialEleva los elementos de la matriz A a la potencia B. Eleva A a las potencias de B. Una de las matrices debe ser escalar.A.^BexponencialEleva los elementos de la matriz A a las potencias B. Ambos A y B pueden ser matrices, escalare o combinadosA

transpuestaCalcula la transpuesta de un vector o matriz.Para matrices complejas esto es el conjugadocomplejo de la transpuestaA.

transpuestaCalcula la transpuesta de un vector o matriz.Para matrices complejas no implica laconjugacinFIME-UANL MC. EMILY SAUCEDOEjercicio 4: Operaciones con vectoresIntroduzca el vector u=[1,2,3,,10], y calculeEl producto escalar u.uEl producto uT.uEl producto escalar usando el comando dotEl producto elemento a elemento u.*uFIME-UANL MC. EMILY SAUCEDOMatricesCrear un arreglo de datos en dos dimensiones (matriz) se puede llevar a cabo de varias formas

Introduciendo cada elementoA=[1, 2, 3; 4, 5, 6; 7, 8, 9]>> A=[1, 2, 3; 4, 5, 6; 7, 8, 9]

A =

1 2 3 4 5 6 7 8 9FIME-UANL MC. EMILY SAUCEDOMultiplicando dos vectores, a vector renglon, entonces a*a es una matrizCrear una matriz de 1s con la funcin ones>> A=ones(4)

A =

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1Ejercicio 5: matricesCrear una matriz de ceros con la funcin zerosCrear una matriz diagonal con la funcin diagCrear una matriz identidad con la funcin eye Con la funcin meshgrid comnmente usada para evaluar funciones de dos o tres variables

MatricesEjercicios: intruduzca las matrices

FIME-UANL MC. EMILY SAUCEDOMatrices ejercicio 6Introduzca

y calcule AbBbABBA

FIME-UANL MC. EMILY SAUCEDOGraficacin

Una vez definidos los vectores de valores x y valores y, Matlab hace fcil la creacin de graficas. A travs de medicin, se obtiene un conjunto de datos tiempo con distancia.Se pueden almacenar los valores de tiempo en un vector llamado x y distancia como y.

> x=[0:2:18];>> y=[0,0.33,4.13,6.29,6.85,11.19,13.19,13.96,16.33,18.17];>> % graficamos x y y>> plot(x,y)>> Podemos agregar ttulos y varias caractersticas

title(' experimento uno')>> % agregamos ttulo>> xlabel('tiempo, seg')>> ylabel('distancia,pies')>> grid on>> % grafica con cuadricula

Graficas con mas de una lneaPodemos aplicar las grficas una encima de la otra con el comando hold on:

>> x=0:pi/100:2*pi;>> y1= cos(x*4);>> plot(x,y1)

>> x=0:pi/100:2*pi;>> y1= cos(x*4);>> plot(x,y1)>> y2=sin(x);>> hold on;>> plot(x,y2)

Podemos obtener las graficas en colores>> x=0:pi/100:2*pi;>> y1=cos(x)*2;>> y2=cos(x)*3;>> y3=cos(x)*4;>> y4=cos(x)*5;>> z=[y1;y2;y3;y4];>> plot(x,y1,x,y2,x,y3,x,y4)

Funcin peaksDel ejemplo anterior agregamos: plot(peaks(100))El cual peaks es una funcin de dos variables que produce datos muestra tiles para demostrar ciertas funciones de graficacin. Se puede usar peaks para demostrar la potencia de usar un argumento de matriz en la funcin plot.La entrada a la funcin plot creada por peaks es una matriz de 100x100.

Mtodo de graficar

Ejercicio 7:

Grafica la funcin de la espiral r=2sen (5) Teta=linspace(0,2*pi,1000);R=2*sin(5teta);Polar(teta,r)

Creacin de nmeros aleatorios con vectoresMatriz de 3x3 en nmeros aleatorios

Comando Randfaltan imagenesActividad fundamental Iaplicando capitulo de operaciones bsicas

Actividad fundamental IIaplicando tema de vectoresSe aplican tres fuerzas en un soporte anclado al piso (inmvil) fuerza 1 fuerza 2 y 3.Para considerar un vector tiene que tener magnitud y direccin.Aplicando las leyes de Newton, obtener la fuerza total, la magnitud del vector x e y, y el Angulo resultante del vector.

Tres leyes de Newton

Grafica de barras

Graficas de escalera e histogramas y puntos

Comando subplot:sirve para guardar varias graficas en una sola figura.

Actividad fundamental IIICon las funciones antes realizadas de seno, coseno y tangente, realizar una figura con las tres graficas y escribir el nombre a la figura de Actividad Fundamental III. Y a cada grafica el nombre correspondiente.

Respuesta ejercicio

Fuerzas 1,2 y 32.- Fuerza total3.- Fuerza resultante

Angulos convertidos a radianesComponente en x y y(seno y coseno)Ft en x y ft en y

4.- Angulo del vector resultante Inverso de la tan del cociente de la fuerza generada en x y la fuerza generada en y de la fuerza total. en que punto del plano cartesiano se encuentra nuestro vector.Grafica en tres dimensionesutilizando el comando plot.Ejemplo 2.11,2.12,2.13.Libro de Matlab. Baez. 2 Ed.

Grafica de superficie (surf)Esta grafica es similar a la de malla, excepto que los rectangulos de la superficie estan coloreados. Los colores de los rectngulos estn determinados por los valores de Z y por el mapa de colores

Ejercicio 8Introduce el comando y explica que pasa:

Shading flatShading interpSurf Surf l(X,Y,Z)

Grafica de una funcin conezplot()Se utiliza para graficar una funcin definida con el comando sym().x = sym ('x') crea la variable simblica con el nombre de 'x' y almacena el resultado en x. x = sym ('x', 'real') tambin se supone que x es real, por lo que conj (x) es igual a x. alfa = sym ('alpha') y r = sym ('Rho', 'real') son otros ejemplos.

Grafica de una funcin conezplot()

Grafica de una funcin confplot()Con la funcin fplot() es posible establecer el intervalo de la grfica.

Grafica de una funcin confplot()

Vector de valores para graficar una funcin

Esta instruccin indica que los valores de X empiezan en 0 y se incrementan en pasos de 0.01 hasta llegar a 2.Vector de valores para graficar una funcin discreta

STEM (Y) representa la secuencia de datos Y como se deriva del eje x terminado con los crculos para el valor de datos. Si Y es una matriz luego cada columna se representa como una serie separada.Entrada de datos

Para leer una cadena se utiliza:

Diferencias entre plot(), fplot() y ezplot()plot() es una funcin que opera en forma vectorial.

fplot() y ezplot() son funciones que trabajan en forma simblica.LA VARIABLE ALEATORIA GAUSSIANA O NORMALLa variable aleatoria Gaussiana X es el resultado del Teorema del limite central.X es una variable aleatoria que consiste de la suma de un gran nmero de pequeas variables aleatorias.Su PDF es dada por:

donde

y son numeros reales.

media

desviacin estndar.Cdigo de Matlab

Funcin Gaussiana distribuida entre -3 y 3, media=0 y desviacin standard==1

Funcin de densidad de probabilidad normal normPDf (pdf).Y = normpdf (x, mu, sigma) devuelve la funcin de densidad de la distribucin normal con MU y desviacin estndar SIGMA, evaluada en los valores de XEjercicio 9 transformada Z

Grafica de la magnitud de la Transformada Z de la funcin:Grficas de superficies

Los coeficientes de los polinomios estn definidos en MATLAB como vectores rengln donde los coeficientes se escriben en orden descendente

Operaciones bsicas de Polinomios Operaciones bsicas de PolinomiosOperaciones: Suma y resta [ 1 1 1 1 ] + [ 3 2 1 0 ]

ans = 4 3 2 1 % = 4x3 + 3x2 + 2x + 1

Ambas representaciones deben ser de igual largo (cantidad de elementos)!

% (x + 1) + (3x3 + 2x2 + x) [ 0 0 1 1 ] + [ 3 2 1 0 ]ans =

3 2 2 1 % la resta es anlogaOperaciones: Producto

Polinomio x escalar

[ 3 2 1 0 ] * 3 % (3x3 + 2x2 + x) 3

ans =9 6 3 0 % 9x3 + 6x2 + 3xMultiplicacin de polinomios

Se utiliza la funcin conv()

Multiplicacin de polinomios Para multiplicar ms de dos polinomios es necesario repetir el proceso.

Polinomios

Para evaluar un polinomio se utiliza la funcin polyval()

Divisin de polinomios

cocienteresiduoDivisin de polinomiosSe utiliza la funcin [ q, r ]= deconv(a,b)

q: polinomio cociente

r: polinomio residuo

Derivada de un polinomioSe utiliza la instruccin: polyder()

Operaciones: polyder() polyder ( [ 4 2 1 ]) ( [ 4 2 1 ])ans =8 2Integral de un polinomioOperaciones: polyint() integra un polinomio polyint ([4,2]) ans =2 2 0

Actividad fundamental IVExamen de medio cursoVariables y funcionesajuste de curvasPara expresar datos por medio de un polinomio,Matlab utiliza la instruccin polyfit(,x,y,n).x,y: son los vectores de datos.n: es el orden del polinomio

ejemploX0123456Y0-4-526-410Considerar los datos de la siguiente tabla y obtener la grfica

Ejercicio 1Con los datos siguientes obten:a) La grficab) La grafica de un polinomio de grado 3 pasando por los puntos obtenidos.c) La grafica de los puntos junto con los polinomios.xDatos medidosy00112432.548536.23Continuacion del ejemplo anterior

Ahora se utiliza un polinomio de grado 6.Ajuste de curvas

Ajuste de curvas

Ajuste de curvas con la funcin spline(x,y,v)Esta funcin est formada por varios polinomios de 3er grado.x, y: coordenadas de los puntos.V: vector de puntos por donde quisiramos que el spline yt tomara los valores del vector y.

Ajuste de curvas con la funcin spline(x,y,v)

Se observa que la funcin spline() da mejores resultados. Interfase para ajuste de curvas BASIC FITTING Primero graficar los datos x, y.En el menu Tools, seleccionar Basic Fitting.Seleccionar la opcin Spline Interpolant.Seleccionar la opcin 5th degree polynomial.Seleccionar show equations.Plot residuals muestra el error en cada aproximacin.La siguiente ventana muestra los coeficientes de los polinomios.La ltima ventana permite evaluar el polinomio.Interfase para ajuste de curvas BASIC FITTING

Interfase para ajuste de curvas BASIC FITTING

Interfase para ajuste de curvas BASIC FITTING

Solucin de ecuacionesPara resolver ecuaciones Matlab utiliza la instruccin solve().

Solucin de ecuacionesEn algunos casos Matlab arroja un valor numerico.

Integralesejemplos

Integrales dobles y triples

Ejercicio: escribir la integral a la que corresponde cada resultado de matlaba)

b)Programacion basica con matlabRealizar los programas propuestos por el maestroAplicaciones con matlab: Procesamiento de imagen

Ejemplo: Aumento de Contraste

Actividad 2

Operaciones bsicas lgicasSuma:

Examen ordinario