of 48/48
22102009 1 TALLER DE INTRODUCCIÓN A MATLAB A MATLAB Introducción Introducción Será dictado por: Sebastián De la Fuente Cristian Herrera Estudiantes de la Escuela en Obras Civiles Estudiantes de la Escuela en Obras Civiles

TALLER DE INTRODUCCIÓN A MATLABsebastiandelafuente.ublog.cl/archivos/3016/clase_1_matlab.pdf · Usemos las operaciones básicas Comenzando en Matlab ... Comenzando en Matlab Funciones

  • View
    222

  • Download
    1

Embed Size (px)

Text of TALLER DE INTRODUCCIÓN A MATLABsebastiandelafuente.ublog.cl/archivos/3016/clase_1_matlab.pdf ·...

  • 22102009

    1

    TALLER DE INTRODUCCIN A MATLABA MATLAB

    IntroduccinIntroduccin

    Ser dictado por:

    Sebastin De la FuenteCristian Herrera

    Estudiantes de la Escuela en Obras CivilesEstudiantes de la Escuela en Obras Civiles

  • 22102009

    2

    IntroduccinIntroduccinTemario

    Captulo I:Captulo I:

    1. Introduccin 1.1 Entorno de trabajo de matlab1.2 Uso de Help1.3 Preferencias y generalidades

    2. Operaciones 2 1 O d i i2.1 Operadores aritmticos2.2 Operadores matriciales 2.3 Comandos 2.4 Grficos2.5 Funciones de librera

    IntroduccinIntroduccin3. Aplicaciones Matemticas 3.1 Calculo

    3.2 Algebra Lineal

    3.3 Ecuaciones Diferenciales

    4. Programacin 4.1 Operadores lgicos

    4.2 Lenguaje de programacin.

    4 3 Sentencia de programacin 4.3 Sentencia de programacin

    4.3 Ficheros *.m

    4.4 Referencia a funciones

    4.5 Entrada y salida de datos

  • 22102009

    3

    IntroduccinIntroduccinCaptulo II:

    5. Aplicaciones de ingeniera 5.1 Clculo Numrico

    5.2 Ingeniera Hidrulica

    5.3 Ingeniera Estructural

    Captulo III:

    6. Proyecto6.1 Introduccin y enfoques

    6.2 Mtodos

    6.3 Presentaciones

    IntroduccinIntroduccin

    Evaluaciones

    Dos solemnes (50%)Primera: Aplicaciones en ciencias bsicasSegunda: Programacin

    P (50%) Proyecto (50%) Realizar alguna aplicacin de ingeniera en Matlab

  • 22102009

    4

    IntroduccinIntroduccin

    Objetivos

    IntroduccinIntroduccin Qu es MATLAB?

    Matlab es una de las muchas sofisticadas herramientas de computacin

    disponibles hoy en da.

    Dentro de la gran competencia existente, Matlab se destaca por su manejo

    de matrices, siendo mucho ms eficiente que Mathcad, Maple y otros.

    Claro! no es por nada que le debe su nombre a esta caracterstica,ya que MATLAB es la abreviacin de Matrix Laboratoryy q y

    Matlab es un excelente herramienta para programar rutinas de clculo

    numrico o resolver iteraciones, pero Ud. no querr crear un programa de

    procesamiento de palabras.

  • 22102009

    5

    IntroduccinIntroduccinAplicaciones de MATLAB en ingeniera

    Ingeniera Elctrica Ingeniera Elctrica

    Procesamiento de seales

    Ingeniera Biomdica

    Anlisis de imgenes mdicas

    Dinmica de fluidos

    Redes de flujo comportamiento de fluidosRedes de flujo, comportamiento de fluidos

    Ingeniera estructural

    Anlisis estructural, anlisis ssmico, diseo de elementos

    Ingeniera Hidrulica

    Periodo de retorno, riesgo, precipitaciones

    Comenzando en MatlabComenzando en Matlab

    Partamos!

    Ambiente de Matlab

  • 22102009

    6

    Comenzando en MatlabComenzando en Matlab

    Archivo

    Ayuda

    Historia de comandos

    rea de trabajo Ventana de comandosDirectorio Actual

    Comenzando en MatlabComenzando en MatlabOpps y si no tengo la pantalla como laanterior?anterior?

  • 22102009

    7

    Comenzando en MatlabComenzando en MatlabVamos ahora a la carpeta donde trabajaremos

    Buscar carpeta

    Comenzando en MatlabComenzando en MatlabUso de variables

  • 22102009

    8

    Comenzando en MatlabComenzando en Matlab

    Cules no puedo ocupar?

    Comenzando en MatlabComenzando en Matlab

    Matlab permite asignar valores a una funcin interna pero CUIDADO la variable funcin interna, pero CUIDADO, la variable como funcin dejar de existir.

  • 22102009

    9

    Comenzando en MatlabComenzando en Matlab

    Comenzando en MatlabComenzando en MatlabSi ya use una funcin como variable, puedo volveratrs?atrs?

    Obviamente

    INGRESAR>>clear sin

    Este comando borra la variable sin

  • 22102009

    10

    Comenzando en MatlabComenzando en MatlabPero si quiero borrar todas la variables utilizadas?

    INGRESAR>>clear

    De esta manera todas las variables que hayacreado sern borradas

    Comenzando en MatlabComenzando en MatlabOperaciones Bsicas

  • 22102009

    11

    Comenzando en MatlabComenzando en MatlabAsignemos valores a variablesUsemos las operaciones bsicasUsemos las operaciones bsicas

    Comenzando en MatlabComenzando en Matlab

    Recordar!Recordar!

    Matlab realiza las operaciones respetandoun orden.

    Este orden es el comn de las matemticas

    1. Realiza clculos dentro de parntesis ,desde el ms interno hacia a fuera

    2. A continuacin realiza exponenciales3. Luego multiplica y divide de izquierda a

    derecha4. Finalmente realiza las sumas y restas de

    izquierda a derecha

  • 22102009

    12

    Comenzando en MatlabComenzando en MatlabCalculemos ahora el rea y volumen de un cilindro1. Definamos las variables

    I. RadioII. Altura

    2. Definir variable superficie1. Superficie = 2*Pi*Radio^2 + 2*Pi*Radio*Altura

    3. Definir variable volumen

    TIP:Para borrar lo escrito anteriormente usar:>>clc

    Comenzando en MatlabComenzando en Matlab

    Interesante!

    Si coloco ; despus de una sentencia nome arroja un resultado

    Dnde puedo ver las variables creadas?R: Workspace

  • 22102009

    13

    Comenzando en MatlabComenzando en MatlabFormato de nmeros

    Cmo puedo hacer que matlab trabaje o muestre los nmerosde manera distinta?

    Comenzando en MatlabComenzando en Matlab

    OJONo confundir e constante matemtica e=2.7183 con e de exponencial.

    e representa potencias de 10!!

    No importa cual sea el formato en que se presentenlos nmeroslos nmeros

    MATLAB SIEMPRE MANTIENE SU PRECISIN ENEL CLCULO

  • 22102009

    14

    Comenzando en MatlabComenzando en MatlabFormato long

    Comenzando en MatlabComenzando en MatlabFormato short

  • 22102009

    15

    Comenzando en MatlabComenzando en MatlabFormato short e

    Comenzando en MatlabComenzando en MatlabFormato long e

  • 22102009

    16

    Comenzando en MatlabComenzando en MatlabFormato bank

    Comenzando en MatlabComenzando en MatlabFormato +

  • 22102009

    17

    Comenzando en MatlabComenzando en MatlabFormato rat

    Comenzando en MatlabComenzando en MatlabCmo guardar las variables que he utilizado enmatlab al cerrar el programa?matlab al cerrar el programa?

    Guardando variables

    Recuperando variables

  • 22102009

    18

    Comenzando en MatlabComenzando en MatlabAlgunos comandos

    Comenzando en MatlabComenzando en MatlabAlgunos comandos

  • 22102009

    19

    Comenzando en MatlabComenzando en MatlabMatrices Cmo crearlas?

    Comenzando en MatlabComenzando en Matlablogspace(a,b,n):genera n puntos entre n 10^a and 10^b.g p

    Pruebe con

  • 22102009

    20

    Comenzando en MatlabComenzando en MatlabQu ocurre con esta funcin?

    Interesante!

    Si coloco ; despus de una sentencia escomo si escribiera en otra lnea

    Comenzando en MatlabComenzando en MatlabOperaciones bsicas en Matrices

    Primero creemos una matriz de 3x3 pormedio del siguiente comando., y luegoRenombremos matriz, como M2

    M1 i (3)>> M1=magic(3);>> M2=matriz;

  • 22102009

    21

    Comenzando en MatlabComenzando en MatlabOperadores en matrices

    .* *

    ./ /

    .^ ^

    +-

    Pruebe estas operaciones con las matricescreadas anteriormente

    Comenzando en MatlabComenzando en Matlab>> M1.*M2

    ans =

    8 2 1812 25 4228 72 18

    >> M1*M2

    ans =

    Interesante!

    Cul es la diferencia entre estos operadores?

    ans

    54 69 8472 87 10254 69 84

  • 22102009

    22

    Comenzando en MatlabComenzando en MatlabOtras operaciones

    Transpuesta Quitar una columna o fila por medio del comando

    (:,1) quita todas las filas (:) de la columna (1)

    Ejemplo:j p

    Para la matriz creada anteriormente M1 quite laprimera columna y asgnela a la variable col1

    Comenzando en MatlabComenzando en Matlab>> col1=M1(:,1)

    l1Recuerde!

    col1 =

    8

    3

    4

    Ahora asignemos la transpuesta de col1 a la variable tran_col1

    Operador dos puntos sirve para extraer datosde las matrices

    >> trans_col1=col1'

    trans_col1 =

    8 3 4

  • 22102009

    23

    Comenzando en MatlabComenzando en Matlab Por ltimo

    Realice lo siguiente:

    >> trans_col1*M1

    ans =

    89 59 77

    y si ocupase el comando .* , que ocurrira?

    Comenzando en MatlabComenzando en Matlab>> col1=M1(:,1)

    l1col1 =

    8

    3

    4

    Ahora asignemos la transpuesta de col1 a la variable tran_col1

    >> trans_col1=col1'

    trans_col1 =

    8 3 4

  • 22102009

    24

    Comenzando en MatlabComenzando en MatlabUsando Matrices

    Comenzando en MatlabComenzando en MatlabCul es el tamao de la matriz M3?

    >> tam=size(M3)

    tam =

    10 10

  • 22102009

    25

    Comenzando en MatlabComenzando en MatlabComando end

    Si uno no sabe donde termina una matriz, puede saber sutamao a travs del comando anterior.

    Pero si quiero saber el valor de un elemento al final de unaMatriz, de una cierta fila o columna resulta ms rapido utilizarl i ilo siguiente:

    Comenzando en MatlabComenzando en Matlab>> M3(1,end)

    ans =

    40

    >> M3(end,end)

    ans =

    59

  • 22102009

    26

    Comenzando en MatlabComenzando en Matlab

    Matrices Especiales

    Comenzando en MatlabComenzando en Matlab

    Matrices Especiales

  • 22102009

    27

    Comenzando en MatlabComenzando en Matlab

    Matrices Especiales

    Comenzando en MatlabComenzando en Matlab

    Matrices Especiales

  • 22102009

    28

    Comenzando en MatlabComenzando en MatlabY si tengo alguna duda sobre Matlab o quierover si hace algo que necesitover si hace algo que necesito

    Uso de Help!!!!!

    F1

    Comenzando en MatlabComenzando en MatlabUso de Help!!!!!

  • 22102009

    29

    Comenzando en MatlabComenzando en Matlab

    Bsquedaq

    Temas

    Comenzando en MatlabComenzando en Matlab

  • 22102009

    30

    Comenzando en MatlabComenzando en MatlabAhora busquemos algunas de las funciones dematricesmatrices .

    Comenzando en MatlabComenzando en Matlab

  • 22102009

    31

    Comenzando en MatlabComenzando en MatlabFunciones Internas

    Funciones matemticas comunes

    Abs():Valor AbsolutoSqrt(): Raiz CuadradaNthroot(x,n): raz ensima del numero xSign(x): regresa 1,0,-1Rem(x,y): calcula el residuo de x/yExp(x): e^xLog(x): logaritmo en base natural Ln(x)Log10(x): Logaritmo en base 10 Log10

    Comenzando en MatlabComenzando en MatlabFunciones Internas

    Funciones de redondeo

  • 22102009

    32

    Comenzando en MatlabComenzando en MatlabFunciones Internas

    Funciones discretas

    Comenzando en MatlabComenzando en MatlabFunciones Internas

    Funciones discretas

  • 22102009

    33

    Comenzando en MatlabComenzando en MatlabFunciones Internas

    Funciones trigonomtricas

    Comenzando en MatlabComenzando en MatlabFunciones Internas

    Funciones trigonomtricas

  • 22102009

    34

    Comenzando en MatlabComenzando en MatlabFunciones Internas: Anlisis de datos

    Comenzando en MatlabComenzando en MatlabFunciones Internas: Anlisis de datos

  • 22102009

    35

    Comenzando en MatlabComenzando en MatlabFunciones Internas: Anlisis de datos

    Comenzando en MatlabComenzando en MatlabFunciones Internas: Anlisis de datos

    [a,b]=min(x)

    min(x,y)

  • 22102009

    36

    Comenzando en MatlabComenzando en MatlabFunciones Internas: Anlisis de datos

    Mean(x): Promedio por columnaMedian(x): MedianaSum(x) : Suma por columnaProd(x):Suma por columna

    Comenzando en MatlabComenzando en MatlabFunciones Internas: Ordenamiento

    Sort(x)

  • 22102009

    37

    Comenzando en MatlabComenzando en MatlabFunciones Internas: Ordenamiento

    Sort(x, descend)

    Comenzando en MatlabComenzando en MatlabFunciones Internas: Ordenamiento

  • 22102009

    38

    Comenzando en MatlabComenzando en MatlabFunciones Internas :Funciones trigonomtricas

    Comenzando en MatlabComenzando en MatlabFunciones Internas :Funciones trigonomtricas

  • 22102009

    39

    Comenzando en MatlabComenzando en Matlab

    Pero ..y MATLAB con letras????

    Comenzando en Comenzando en MatlabMatlabCmo puedo resolver una ecuacin lineal, cuadrtico

    o un sistema de ecuaciones?

    Usando el Comandosolve como Se muestra

  • 22102009

    40

    Comenzando en Comenzando en MatlabMatlabSi quiero ver los resultados obtenidos en nmeros decimales, se debe usar el comando,

    double

    Comenzando en Comenzando en MatlabMatlab

    MATLAB es un programa solamente de carcter numrico?carcter numrico?

    Tambin es de carcter simblicoTambin es de carcter simblico,es decir, se puede derivar, integrar, evaluar,

    sumar polinomios, etc.

  • 22102009

    41

    Comenzando en Comenzando en MatlabMatlabPara todo lo que sea simblico se ocupa

    sym o syms dependiendoy y p

    Comenzando en Comenzando en MatlabMatlab

    Obsevaciones:

    sym es para valores numricos y si se quiere transformar una variable a simblica hay que guardarla sobre la misma.

    Cuando sean muchas la variables que se quieren hacer simbolica entonces se usa syms

  • 22102009

    42

    Comenzando en Comenzando en MatlabMatlab

    Es importante mencionar que para definir una funcin simblica hay que definir cada una de sus variables simblicas.

    Comenzando en Comenzando en MatlabMatlabPara definir una funcin con variables simblicassolo debemos usar syms, como se usoy ,anteriormente y hacer lo siguiente

  • 22102009

    43

    Comenzando en Comenzando en MatlabMatlabSi se quiere saber lasvariables simblicas que tiene una funcin,hay que ocupar elcomandoFindsym(nombre de la funcin)

    Comenzando en Comenzando en MatlabMatlabEs importante destacar que si la funcin f que tieneguardadas variables simblicas y la transfrmanosen una variables simblica sta dejara de ser unfuncin

  • 22102009

    44

    Comenzando en Comenzando en MatlabMatlabQue pasa si quiero evaluar un funcin simblica?Hay que usar el comando subs(f,x,y)y q ( y)

    Siendo f: funcin simblicax: variables simblica a reemplazary: nmero o variables por que la que reemplaza x

    Comenzando en Comenzando en MatlabMatlab

  • 22102009

    45

    Comenzando en Comenzando en MatlabMatlabPara graficar una variable simblica se usa el comando ezplot(f,x)p ( , )

    Siendof: funcin simblicax: intervalo donde se graficar f

    Al ingresar

    Comenzando en Comenzando en MatlabMatlabSe obtiene

  • 22102009

    46

    Comenzando en Comenzando en MatlabMatlab

    Y si quiero volver a lenguaje numrico, Como lo hago?Como lo hago?

    Para eso existe al comando

    Comenzando en Comenzando en MatlabMatlabYa yComo lo uso?Bueno usando la funcin f definida anteriormente eBueno usando la funcin f definida anteriormente eIngresamos lo siguiente en Matlab

    OJOcon poner la funcin entre por que si no pasar p q pesto.

    En este caso G depende de f de forma lineal y pasa por el origen.

  • 22102009

    47

    Comenzando en Comenzando en MatlabMatlab

    Y si quiero pasar una funcin numrica Simblica? numrica Simblica? se usa

    sym

    Comenzando en Comenzando en MatlabMatlab

    Propiedades de funciones simblicas Limite =lim(f x a) Limite =lim(f,x,a)f: funcin simblicax: variable que se evalaa: valor al que tienen la variable x Derivara=diff(f,x,a)f: funcin simblicax: variable que se evalaa: grado de la integral

  • 22102009

    48

    Comenzando en Comenzando en MatlabMatlab integrar=int(f,x,a,b)f: funcin simblicaf: funcin simblicax: variable que se evalaa: limite superior de la integralb: limite inferior de la integral

    En el limite si no se coloca un valor a , Matlab por defecto tiene el limite a cero (a=0)

    Comenzando en MatlabComenzando en Matlab

    FIN CLASE FIN CLASE 1

    GRACIAS!