EXPOSICION MATLAB.docx

download EXPOSICION MATLAB.docx

of 4

Transcript of EXPOSICION MATLAB.docx

  • 7/22/2019 EXPOSICION MATLAB.docx

    1/4

    MATLAB

    MATLAB es el principal producto de software de Mathworks, Inc., fundada por los analistas

    numricos Cleve Moler y John N. Little. Como su nombre lo indica, MATLAB se desarroll

    originalmente como un laboratorio para matrices. Hoy el elemento principal de MATLAB sigue

    siendo la matriz. La manipulacin matemtica de matrices se ha realizado muy adecuadamente

    en un ambiente interactivo fcil de utilizar, A esta manipulacin matricial, MATLAB agrega

    varias funciones numricas, clculos simblicos y herramientas para visualizacin. En

    consecuencia, la versin actual representa un ambiente computacional bastante amplio.

    MATLAB tiene diferentes funciones y operadores que permiten la adecuada realizacin de los

    mtodos numricos que aqu desarrollamos, stos se describirn con detalle en los captulos

    siguientes. Adems, se pueden escribir programas como los llamados archivos M (m-files) que

    sirven para realizar clculos numricos. Vamos ahora cmo funciona.

    Primero, usted se dar cuenta de que el uso normal de MATLAB est estrechamente

    relacionado con la programacin. Supongamos, por ejemplo, que queremos determinar la

    solucin analtica al problema del paracaidista, lo cual haramos con los siguientes comandos

    de MATLAB

    Obtenindose como resultado v =16.4050

    La secuencia de comandos es como la secuencia de instrucciones en un lenguaje de

    programacin tpico. Pero, qu ocurre si usted se quiere desviar de la estructura secuencial?

    Aunque hay algunos caminos bien definidos para establecer recursos no secuenciales en el

    modo estndar de comandos, para introducir decisiones y loops, lo mejor es crear un

    documento de MATLAB al que se le llama archivo-m (m-file). Para hacer esto haga clic en

    File New Mfile y se abrir una ventana nueva con el encabezado MATLAB

    Editor/Debugger. En esta ventana usted puede escribir y editar programas en MATLAB.

    Escriba ah el cdigo siguiente:

    Obsrvese que los comandos se escriben exactamente en la misma forma en que se hara en el

    extremo frontal de MATLAB. Guarde el programa con el mismo nombre: analpara. MATLAB

    agregar en forma automtica la extensin .m para denotar que setrata de un archivo M: analpara.m. Para correr el programa, se debe regresar al modo de

    >> g=9.8;>> m=68.1;>>cd=12.5;>> tf=2;>> v=g*m/cd*(1-exp(-cd/m*tf))

    g=9.8;m=68.1;cd=12.5;tf=2;

    v=g*m/cd*(1-exp(-cd/m*tf))

  • 7/22/2019 EXPOSICION MATLAB.docx

    2/4

    comando. La forma ms directa de efectuar esto consiste en hacer clic en el botn MATLAB

    Command Windowque se encuentra en la barra de tareas (que por lo general est en la parte

    inferior de la pantalla).

    Ahora, el programa se puede correr al hacer clic en el archivo M, analpara, que debe parecerse a

    lo siguiente:

    >> analpara

    Si usted ha hecho todo en forma correcta, MATLAB debe responder con la respuesta correcta:

    v = 16.4050

    Ahora, un problema con lo anterior es que est preparado para calcular slo un caso. El lector lo

    puede hacer ms flexible si hace que el usuario introduzca algunas de las variables. Por

    ejemplo, suponga que desea evaluar el efecto de la masa sobre la velocidad a los 2 s. Para hacer

    esto, el archivo M podra reescribirse como sigue:

    Guarde esto con el nombre de analpara2.m. Si escribi analpara2 mientras se encontraba en el

    modo de comando, la lnea mostrar lo que sigue:

    masa (kg):

    Entonces, el usuario introduce un valor como 100, y el resultado aparecer como:v = 17.3420

    Ahora, debe quedar bastante claro cmo se puede programar una solucin numrica por medio

    de un archivo M. A fin de hacerlo, primero debemos entender la manera en que MATLAB

    maneja las estructuras lgica y de lazo (ciclos o loops). En la figura 2.9 se enlista el

    seudocdigo junto con el cdigo de MATLAB para todas las estructuras de control, con base en

    la seccin anterior. Aunque las estructuras del seudocdigo y el cdigo MATLAB son muy

    similares, existen algunas diferencias pequeas que deben destacarse. En especial, observe

    cmo hemos expresado la estructura DOEXIT. En lugar del DO usamos el WHILE(l). Como

    MATLAB interpreta al nmero 1 como correspondiente a verdadero, esta instruccin se

    repetir indefinidamente de la misma manera que el DO. El looptermina con un comando de

    interrupcin (break), el cual transfiere el control a la instruccin que se encuentra a

    continuacin, de la instruccin end que termina el ciclo. Tambin hay que observar que los

    parmetros del lazo controlado por contador estn ordenados de modo diferente. Para el

    seudocdigo, los parmetros del lazo estn especificados como start, flnish, step. Para

    MATLAB, los parmetros estn ordenados como start: step: finish.Ahora el siguiente archivo-m de MATLAB se puede desarrollar directamente, a partir del

    g=9.8;m=input('masa (kg):');cd=12.5;tf=2;

    v=g*m/cd*(1-exp(-cd/m*tf))

  • 7/22/2019 EXPOSICION MATLAB.docx

    3/4

    seudocdigo dado en la figura 2.7. Escriba lo siguiente en el Editor/Debugger de MATLAB:

    Guarde este archivo como numpara.m, vuelva al modo de comandos y crralo dando

    numpara. Obtendr la siguiente salida:

    Por ltimo vamos a convertir este archivo-m en una funcin. Esto se puede hacer en el

    siguiente archivo-m basado en el seudocdigo de la figura 2.7:

    Guarde este archivo como euler.m y despus cree otro archivo-m para calcular la derivada,

    Guarde este archivo como dy.m y regrese al modo de comandos. Para llamar la funcin y ver elresultado, teclea los siguientes comandos:

    g=9.8;m=input('mass (kg):');cd=12.5;ti=0;

    tf-2;vi=0;dt=0.1;t =ti;V = vi;h= dt ;while (1)if t + dt > tfh= tf - t;

    enddvdt = g - (cd / m) * v;v = v + dvdt * h;t = t + h;if t >= tf, break, endenddisp(velocity (m/s):')

    disp(v)

    function euler = f (dt,ti,tf,yi,m,cd)t = ti;y = yi;h = dt;while (1)if t + dt > tfh = tf- t;enddydt = dy(t, y, m, cd);y = y + dydt * h;t = t + h;if t >= tf, break, endend

    yy = y;

    m=68.1;cd=12.5;

    ti=0;tf=2.;vi=0;dt=0.1;

    euler(dt,ti,tf,vi,m,cd)

    function dydt = dy(t, v, m, cd)g = 9-8;

    dydt = g - (cd / m)* v;tf,vi,m,cd)

    masa (kg): 100

    velocity (m/s) =17.4381

  • 7/22/2019 EXPOSICION MATLAB.docx

    4/4

    Una vez dado el ltimo comando, se desplegar el resultado ans = 15.5309

    La combinacin del ambiente de MATLAB con el lenguaje de programacin para los archivos-

    m nos abre un mundo de posibilidades para la solucin de problemas en ingeniera.

    A) SEUDOCDIGO B)MATLAB

    IF/THEN:IF condicin THENBloque verdaderoENDIF

    if b = 0

    rl - -c / b;

    end

    IF/THEN/ELSE:IF condicin THENBloque verdaderoELSEBloque falsoENDIF

    if a - 10, break, end

    j i*x:

    end

    LOOP CONTROLADO POR CONTADOR:DOFOR i=Inicio, fin, incremento

    BloqueENDO

    for i = 1:10:2x - x + i;endo