Introducción Software de Simulación

44
SOFTWARE DE SIMULACIÓN CAPÍTULO I

description

Conceptos y ejercicios Software de simulación

Transcript of Introducción Software de Simulación

  • SOFTWARE DE SIMULACINCAPTULO I

  • MATLAB

    Definicin :

    Matlab es el nombre abreviado de MATrix LABoratory

    Realiza clculos numricos con: vectores, matrices, escalares eimaginarios.

    Carctersticas:

    MATLAB puede ser usada en diferentes plataformas: Windows,Linux, Mac OS x.

    Se compone por las herramientas GUI y Simulink.

    Toda variable que se crea es una matriz.

  • MATLAB

    Aplicaciones:

    Implementacin de algoritmos

    Desarrollo de interfaces de usuario

    Desarrollo de clculos matemticos.

    Grficos en 2D y 3D

    Permite la comunicacin con otros lenguajes deprogramacin.

  • MATLAB Entorno de trabajo:

    Ventana de comandos

    Carpeta actual

    workspace

    Historial de comandos

  • MATLAB

    Ventana de comandos: Se utiliza para introducir rdenes directamente por el

    usuario (seguidas de enter). Los resultados de las rdenes introducidas se muestran

    en esta misma pantalla

    Historial de comandos: Las rdenes introducidas en la ventana command

    window quedan grabadas en esta ventana

    Workspace: Esta ventana contiene las variables creadas en la sesin de Matlab.

    La ventana workspace nos proporciona informacin sobre el nombre,

    dimensiones, tamao y tipo de variable

    Directorio actual: En el directorio se encuentra todos los archivos (.m)

    previamente grabados.

    Entorno de trabajo:

  • LENGUAJE DE PROGRAMACIN

    Ventajas

    La programacin es sencilla.Presenta una biblioteca matemtica ampliaTransportabilidad hacia otros programasVariedad de herramientas grficas adems de interfaces grficas

    Desventajas

    Recursos del sistemaCostos Tiempo de procesamiento

  • MATLAB

    Matlab no tiene encuenta los espaciosMatlab almacena el ltimo resultado obtenido en la variable ans.Si la sentencia es muy larga se utiliza () seguido de enter.El punto y coma (;) entiende el programa que ejecute pero que no muestre (Command window)

    Consideraciones:

  • MATLAB

    Matlab diferencia entre maysculas y minsculas.

    Se debe comenzar siempre con una letra

    No pueden contener espacios en blanco y pueden contener hasta 63

    caracteres

    Variables:

    VARIABLE DEFINICIN VALOR

    ans Variable utilizada por defecto para almacenar el ltimo resultado.

    Depende de la operacinrealizada.

    pi Razn de una circunferencia a sudimetro.

    3,1416

    eps Nmero ms pequeo, cuando se le suma 1, crea un nmero en coma flotante mayor que 1.

    2,2204e-016

  • MATLAB

    Trigonomtricas

    Operaciones Matemticas

    FUNCIONES DEFINICIN

    sin (x) Determina el seno de x en radianes

    cos (x) Determina el coseno de x en radianes

    tan (x) Determina la tangente de x en radianes

    sind (x) Determina el seno de x en grados

    sinh(x) Determina el seno hiperblico de x en radianes

  • MATLAB

    Aproximaciones

    Operaciones Matemticas

    FUNCIONES DEFINICIN

    cell (x) Redondea hacia infinito

    fix (x) Redondea hacia cero

    floor (x) Redondea hacia menos infinito

    round (x) Redondea hacia el entero ms prximo

  • MATLAB

    Numros complejos

    Operaciones Matemticas

    FUNCIONES DEFINICIN

    abs (x) Valor absoluto o magnitud de un nmero complejo

    sign (x) Signo del argumento si x es un valor real

    exp (x) Exponencial

    gcd (m,n) Mximo comn divisor

    lcm(m,n) Mnimo comn mltiplo

    log (x) Logaritmo de x

  • MATLAB Operaciones Matemticas zeros (n) : crea una matriz cuadrada n x n de ceros. zeros (m,n) : crea una matriz m x n de ceros. ones (n) : crea una matriz cuadrada n x n de unos. ones (m,n): crea una matriz m x n de unos. rand (n) : crea una matriz cuadrada n x n de nmeros aleatorios con distribucin uniforme

    (0,1). rand (m,n): crea una matriz m x n de nmeros aleatorios con distribucin uniforme (0,1). randn (n): crea una matriz cuadrada n x n de nmeros aleatorios con distribucin normal

    (0,1). randn (m,n): crea una matriz m x n de nmeros aleatorios con distribucin normal (0,1). eye (n): crea una matriz cuadrada n x n de unos en la diagonal y ceros el resto. eye (m,n): crea una matriz m x n de unos en la diagonal y ceros el resto. magic (n): crea una matriz cuadrada n x n de enteros de modo que sumen lo mismo las filas

    y las columnas.

  • MATLAB

    Funciones para matrices

    Operaciones Matemticas

    FUNCIONES DEFINICIN

    det(A) Determinante

    diag (A) Extrae la diagonal de la matriz A como un vector columna

    eig (A) Valores propios

    inv (A) Matriz inversa

    length(A) Mxima dimensin

    size (A) Dimensiones

    Trace (A) Traza

  • MATLAB El comando help proporciona ayuda para las diferentes funciones que

    tiene Matlab

  • MATLAB Definicin de un Vector

    Vector fila: elementos separados con comas (,) o con espacios:>> x = [10 20 30 40]

    x = 10 20 30 40

    Vector columna: elementos separados con punto y coma (;) :>> x= [10; 20; 30]

    x= 102030

    *Fila a columna y viceversa: con la transpuesta (')

  • MATLAB Operacin con Vectores

    El ltimo elemento del Vector : x (end)

    Para acceder a un bloque de elementos: x (2:4)

    Para obtener un conjunto de elementos de un vector: x ([ 2 3 4])

    (a:b): crea un vector que comienza en a y termina en b

    (a:c:b): crea un vector que comienza en el valor de a terminando

    en el valor de c y aumentando de c en .

    Linspace (a,b,c): crea un vector linealmente espaciado entre los

    valores a b pero con c elemnetos

    Linspace (a,b), logspace (a,b,c) , logspace (a,b)

  • MATLAB Definicin de matrices

    Las matrices se definen por filas, los elementos de la fila se separanpor espacios o comas (,) mientras que las filas van separadas porpunto y coma (;)Ejemplo:

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

    >> A=[1 2 3; 4 5 6; 7 8 9]

    A= 1 2 34 5 67 8 9

    Resultado

  • MATLAB Definicin de matrices

    Cuando se crea la matriz, esta se guarda en el workspace (Espacio deTrabajo) con el nombre que fue creada para realizar cualquieroperacin sobre ella.Ejemplo:

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

    >> A'

    >> ans'

    Resultado

    A= 1 2 34 5 67 8 9

    A= 1 4 72 5 83 6 9

  • MATLAB Operacin con Matrices

    Para acceder a un elemento de una matriz:

    m = [1 2 3 ; 4 5 6]

    m (2,3) Fila 2 y columna 3

    Para obtener toda una fila se utiliza: m (2,:)

    Para obtener toda una columna: m (:,2)

  • Operaciones con Escalares

    OPERACIN DATOS DE ENTRADA DATOS DE SALIDA

    SUMA >> 3+5 ans=8

    RESTA >> 8-3 ans=5

    MULTIPLICACIN >> 5*12 ans=60

    DIVISIN >>1234/5786 ans=0,2173

    POTENCIAS >>2^6 ans=64

    RAICES >>sqrt(4) ans=2

    TRIGONOMTRICAS >>a=sin(pi)

    EJERCICIOS

  • Operaciones con Vectores

    EJERCICIOS

    >> A=[4,2,3]

    >> B=[10,12,13]

  • Operaciones con Vectores

    OPERACIN DATOS DE ENTRADA

    SUMA >> A+B

    RESTA >> A-B

    MULTIPLICACIN >> A.*B

    DIVISIN >>A./B

    POTENCIAS >>A.^n1

    EJERCICIOS

    N1 Escalar

  • Operaciones con Matrices

    EJERCICIOS

    >> C= rand (2,3)>> I= ones (3)>> magic (3)

  • Operaciones con Matrices

    EJERCICIOS

    >> A=[1,2,3; 4,5,6]

    >> b= 2

    OPERACIN DATOS DE ENTRADA

    SUMA >> A+b

    MULTIPLICACIN >> A*B

    POTENCIA COMPONENTE A COMPONENTE

    >>A.^B

    POTENCIA MATRICIAL >>A^b

  • Operaciones con Matrices

    EJERCICIOS

    >> A= magic (6)

    Eliminar una columna de una matriz

  • Operaciones con Matrices

    EJERCICIOS

    >> A(:,6) = []

    Eliminar una columna de una matriz

  • Operaciones con Matrices

    EJERCICIOS

    >> B = A (:,2)

    Extraer una columna de una matriz

  • ResumenEn MATLAB se puede crear matrices vacias.ans variable por defecto que almacena resultado de la ltima

    operacin.whos + variable Comando para conocer las propiedades de

    una variable.help + comando Ayuda para conocer las funcionalidades y

    sintxis de un commandoUn escalar es almacenado como una matriz 1x1Las operaciones entre escalares y matrices se realizan

    componente a componente, salvo las potencias.

    El operador : es usado para especificar rangos

  • SOFTWARE DE SIMULACINCAPTULO II

  • Programacin en MATLAB

    La programacin en MATLAB se realiza mediante ficheros de comandosllamados M-Files.

    Estos ficheros:

    Tienen la extension .m nombre_archivo.m

    Estn formados por una secuencia de comandos

    Las variables que se crean son globales.

    Establece a los datos de entrada como parmetros.

    Pueden ser modificados en cualquier editor de texto.

    Existen ficheros de:oComandos

    oFunciones

  • Programacin en MATLAB

    Diferencia entre scripts y funciones

    SCRIPTS FUNCIONES

    No se aceptan argumentos de entrada

    Aceptan argumentos de entradaen funcin de los cuales se producen los resultados.

    Trabajan sobre las variables en el workspace

    Las variables internas son locales a la funcin.

    Automatizan una serie de pasosque se repiten muchas veces.

    tiles para extender el lenguajepara las aplicaciones

  • Programacin en MATLAB

    Ejemplo de script ejemplo1.m

  • Programacin en MATLAB

    Creacin de una funcin:1 parmetro de entrada y 1 parmetro de salida

    Varios parmetros de entrada y varios parmetros de salida

  • Programacin en MATLAB

    Creacin de una funcinNombre de una funcin: Los nombres que se asignan a una funcin

    debe cumplir el siguiente formato.oDeben empezar por una letra seguidos de cualquier combinacin de

    letras, nmeros o signos.

    o El nombre del fichero que contiene la funcin es el mismo nombre de lafuncin seguido de la extensin .m

    Type(Nombre de la funcin), permite conocer el contenido delarchivo.

  • Programacin en MATLAB

    Creacin de una funcin:La sintaxis para llamar a una funcin es la siguiente

  • Programacin en MATLAB

    Creacin de una funcin:Comandos de entrada/salida

    COMANDO FUNCIN SINTAXIS

    input Permite ingresar datos porpantalla

    variable=input(`mensaje en pantalla)

    disp Muestra texto en pantalla disp(`Bienvenido)

  • Programacin en MATLAB

    Bucles:Lazo for Es una estructura empleada para repetir un conjunto de

    instrucciones un nmero de veces determinado.

    o Con break se puede romper la ejecucin del lazo.o Se puede crear lazos for anidados

  • Programacin en MATLAB

    Bucles:Lazo while Es una estructura que permite repetir un bloque de cdigo,

    mientras una condicin se cumpla.

    o La sentencia continue hace que se pase inmediatamente a la siguienteiteracin del bucle for o while, saltando todas las sentencias que hay entre elcontinue y el fin del bucle en la iteracin actual.

  • Programacin en MATLAB EJERCICIO 1:Creando Scripts

    1.- Crear script llamado prueba.m que permita desplegar el mensaje holamundo en pantalla.

    >> edit prueba1.m

    % prueba1.m% Mi primer script en MATLABdisp (`Hola mundo`);

  • Programacin en MATLAB EJERCICIO 2:

    Realizar una funcin que obtenga las races de un polinomio

    de segundo grado.

    >> edit RaicesEcuacion.m

  • Programacin en MATLAB EJERCICIO 2:

    En el archivo RaicesEcuacion.m

    function [x1,x2]= RaicesEcuacion(a,b,c) x1=(-b+sqrt(b^2-4*a*c))/(2*a);x2=(-b-sqrt(b^2-4*a*c)/(2*a);

    En la ventana de comandos

    >>[x1,x2]=RaicesEcuacion(1,4,2)

    >>[x1,x2]=RaicesEcuacion(1,3,5)

  • Programacin en MATLAB EJERCICIO 3:

    Realizar una funcin que sume los elementos de un vector

    >> edit VectorSum.m

  • Programacin en MATLAB EJERCICIO 3:

    En el archivo VectorSum.m

    function s = VectorSum(x) s=0;n=length(x);for i=1:ns=s+x(i);end

  • Programacin en MATLAB EJERCICIO 3:

    En la ventana de comandos

    >> VectorSum (7)