GUIA N°3 DE PROGRAMACIÓN EN COMPUTADORAS

download GUIA N°3 DE PROGRAMACIÓN EN COMPUTADORAS

of 10

Transcript of GUIA N°3 DE PROGRAMACIÓN EN COMPUTADORAS

  • 8/16/2019 GUIA N°3 DE PROGRAMACIÓN EN COMPUTADORAS

    1/10

    1

    GUIAS DE PROGRAMACIÓN EN COMPUTADORAS – PLATAFORMAMATLAB Ing. José S. Orbegoso L.

    ===============================================================

    GUÍA N° 3

    1. DECLARACIÓN DE VARIABLESMATLAB es un lenguaje científico que no necesita, a diferencia de muchos otroslenguajes de programación, declarar las variables antes de usarlas. o e!isten tampocotipos de variables como en "## $int, float, etc%tera&.

    La unica condicion es que se respete este sinta!is' Nombre_variable = Valor_variable

    (or ejemplo'Tiempo = 5

    )ariables * "onstantes especiales de MATLAB. ombre +ignificado

    ps

    pii * jinf

    adateflopsnarginnargout

    (recision de la m-quina

    π

    unidad imaginariainfinitono es num%rofechacontador de operaciones de punto flotanten mero de argumentos de entrada de una funciónn mero de argumentos de salida de una función

    2 OPERADORES

    2.1 ARITMÉTICOS

    stos son esencialmente los siguientes'Operac !"

    ADICIÓN

    SUSTRACCION

    MULTIPLICACION

    DIVISION

    POTENCIACION

    RAI#

    Opera$%rMATLAB

    & ' ( ) * +,r- /

    2.2 LÓGICOSstos son principalmente de tipo relacional'

    Operac !"

    0 ≥ ≤ ≠ AND OR

    /perador MATLAB

    0 0 0 4 5

    2.3 CONDICIONALES

    I6'ELSE

    MATLAB cuenta con esta instrucción condicional. l sinta!is es el siguienteif (statement), instruction1else instruction2end

  • 8/16/2019 GUIA N°3 DE PROGRAMACIÓN EN COMPUTADORAS

    2/10

    2

    GUIAS DE PROGRAMACIÓN EN COMPUTADORAS – PLATAFORMAMATLAB Ing. José S. Orbegoso L.

    ===============================================================

    por ejemplo'a=input(‘dame un numero: )!b=mod(a,2)!if (b=="),disp(‘tu numero es par )!else disp(‘tu numero es impar )!end

    S7ITC8'END

    sta instruccion es para condiciones m ltiples rempla1a al if2else2end. La sinta!is es'#$itc% condicioncase ainstruction1case binstruction2&&end

    por ejemplo''e emplo con opciones num ricasclcclear all disp(*determine la rai+ de 5 -2.125:*)disp(*si las raices son /15 0 .15 teclee 1*)disp(*si las raices son / &5 0 . &5 teclee 2*)disp(*si las raices son /5 0 .5 teclee *)a=input(*teclee su respuesta:*)!

    s$itc% acase 1disp(*respuesta incorrecta*)!case 2disp(*respuesta incorrecta*)!case disp(*respuesta correcta*)!end

    otro ejemplo'e emplo s$itc% con opciones alfabeticasclcclear all disp(*determine la rai+ de 5 -2.125:*)disp(*si las raices son /15 0 .15 teclee a*)disp(*si las raices son / &5 0 . &5 teclee b*)disp(*si las raices son /5 0 .5 teclee c*)r=input('teclee su respuesta:','s');

    s$itc% r case 'a'

    disp(*respuesta incorrecta*)!case *b* disp(*respuesta incorrecta*)!case *c* disp(*respuesta correcta*)!

  • 8/16/2019 GUIA N°3 DE PROGRAMACIÓN EN COMPUTADORAS

    3/10

    3

    GUIAS DE PROGRAMACIÓN EN COMPUTADORAS – PLATAFORMAMATLAB Ing. José S. Orbegoso L.

    ===============================================================

    end 2.9 SECUENCIALES

    6OR'END

    sta instrucción sirve para repetir n veces una instrucción con incrementos de 3 en 3. Lasinta!is es'

    for condition=m:ninstructionsend

    jemplo' for a= :2"c= 23a/2end

    78ILE'END

    4ace lo mismo que for2end, sólo que en este caso el bucle se repite mientras lacondición sea verdadera. La sinta!is es'

    $%ile conditioninstructionsend

    jemplo

    c=1"""$%ile c42c = c 2end

    BREA:

    sta sentencia permite 5salir5 de un la1o 56hile5 o 5for5.

    CONTINUE

    s similar a 5brea75 pero pasa a la siguiente iteración del la1o.

    CONTINUACIÓN DE LÍNEASl operador de continuación de líneas es 8...9. /ctave soporta la continuación de líneas

    de Matlab * tambi%n la forma m-s usual en la ma*oría de los lenguajes de script de:ni! $8;9&

    < ! = varable>demasiado>larga # ...

    otra>variable>demasiado>larga # ...

    2.; ARREGLOS MATRICIALES

    l manejo de matrices con MATLAB es mucho m-s f-cil que con los lenguajes cl-sicosde programación.

  • 8/16/2019 GUIA N°3 DE PROGRAMACIÓN EN COMPUTADORAS

    4/10

    4

    GUIAS DE PROGRAMACIÓN EN COMPUTADORAS – PLATAFORMAMATLAB Ing. José S. Orbegoso L.

    ===============================================================

    Los %pera$%re+ ar -

  • 8/16/2019 GUIA N°3 DE PROGRAMACIÓN EN COMPUTADORAS

    5/10

    5

    GUIAS DE PROGRAMACIÓN EN COMPUTADORAS – PLATAFORMAMATLAB Ing. José S. Orbegoso L.

    ===============================================================

    00 ma!$)&ans =

    jemplo J'

    00 M=G3 I JF I 2 2 23F2K N I 3NH

    M = 3 I J I 2 2 23 2K N I 3N

    00 ma!$M&ans =

    I I 3NMIN' efect a la operación reciproca a MAO. n este caso se obtienen los valoresmínimos.

    jemplo 3'

    00 ) = G3 I 2K 2 H

    ) = 3 I 2K 2

    00 ) = G3 I 2K 2 H) = 3 I 2K 2

    00 min$)&ans = 2

    jemplo J'

    00 M=G3 I JF I 2 2 23F2K N I 3NHM = 3 I J I 2 2 23 2K N I 3N

    00 min$M&ans = 2K 2 2 23

    MEDIAN' para vectores, calcula la mediana de sus elementosF para una matri1, segenera un vector fila cu*os componentes son el promedio en cada columna de la matri1.

    jemplo 3'

    00 ) = G3 I 2K 2 H

  • 8/16/2019 GUIA N°3 DE PROGRAMACIÓN EN COMPUTADORAS

    6/10

    6

    GUIAS DE PROGRAMACIÓN EN COMPUTADORAS – PLATAFORMAMATLAB Ing. José S. Orbegoso L.

    ===============================================================

    ) = 3 I 2K 2

    00 median$)&ans =3

    jemplo J'

    00 M=G3 I JF I 2 2 23F2K N I 3NHM = 3 I J I 2 2 23 2K N I 3N

    00 median$M&ans = 3 N I J

    MEAN' para vectores, calcula el promedio de sus elementosF para una matri1, se generaun vector fila cu*os componentes son el promedio en cada columna de la matri1.

    jemplo 3'

    00 ) = G3 I 2K 2 H) =

    3 I 2K 2

    00 mean$)&ans =N

    jemplo J'

    00 M=G3 I JF I 2 2 23F2K N I 3NHM = 3 I J I 2 2 23 2K N I 3N

    00 mean$M&ans = N N N I. P STD' para un vector, calcula la desviación est-ndar de sus componentes. +i se trata deuna matri1, estafunción genera un vector fila que conteniendo la desviación est-ndar de cada una de suscolumnas.

    jemplo 3'

    00 ) = G3 I 2K 2 H) =

  • 8/16/2019 GUIA N°3 DE PROGRAMACIÓN EN COMPUTADORAS

    7/10

    7

    GUIAS DE PROGRAMACIÓN EN COMPUTADORAS – PLATAFORMAMATLAB Ing. José S. Orbegoso L.

    ===============================================================

    3 I 2K 2

    00 std$)&ans = K.I QR

    jemplo J'

    00 M=G3 I JF I 2 2 23F2K N I 3NHM = 3 I J I 2 2 23 2K N I 3N

    00 std$M&

    ans = I. N .NNNN .3R J . Q J

    EIG@?etermina los valores propios de una matri1 cuadrada, M

    00 M=G3 I F I 2 2 FP 2R H

    M = 3 I

    I 2 2 P 2R

    00 eig$M&ans = 233. INP I.3KNN R.IRNP

    COND' determina el índice de inversibilidad de una matri1 en función de la norma J.cuanto m-s grande es el valor de "/ ?, la inversibilidad de la matri1 M es menosreali1able. +i "/ ? es del orden de 3N 3I ó superior, la matri1 M tendr- serios

    problemas de inversibilidad.

    00 M=G3 I F I 2 2 FP 2R HM = 3 I I 2 2 P 2R

    00 cond$M&ans = K.KQNR

    2. GRA6ICACIÓN

    Los principales comandos son'

  • 8/16/2019 GUIA N°3 DE PROGRAMACIÓN EN COMPUTADORAS

    8/10

    8

    GUIAS DE PROGRAMACIÓN EN COMPUTADORAS – PLATAFORMAMATLAB Ing. José S. Orbegoso L.

    ===============================================================

    PLOT' permite la graficación de una función en J? * genera una ventana llamada fi

  • 8/16/2019 GUIA N°3 DE PROGRAMACIÓN EN COMPUTADORAS

    9/10

    9

    GUIAS DE PROGRAMACIÓN EN COMPUTADORAS – PLATAFORMAMATLAB Ing. José S. Orbegoso L.

    ===============================================================

    2. CREACION DE 6UNCIONES EN MATLAB

    3.1 EDICIÓN DE 6UNCIONES DE BIBLIOTECA DE MATLAB

    "uando se desea conocer las funciones implementadas en MATLAB, se puede consultar 4 L( del men

    principal o bien e!plorar desde el command Vindo6.

    44%elp 7?nter

    obteniendo' @?AB topics:

    n el ap%ndice se presentar- una lista m-s detallada de los rubros cubiertos por MATLAB. +i por ejemplo, si se quiere conocer m-s detalles sobre matlabCelfun seejecuta'

    44 %elp elfun

    * se obtiene una nueva lista de funciones incluidas en este rubro. $ver ap%ndice parama*or detalle& entre las cuales destacan las funciones trigonom%tricas, trigonom%tricasinversas, e!ponenciales, logarítmicas * de variable compleja.

    (ara saber la sinta!is * m-s información sobre una función propia de MATLAB funcionDeEatlab&m , se

    Teclea 00 %elp funciondeEatlab G nterH

    3.2 CREACIÓN DE BIBLIOTECAS DE 6UNCIONES

    MATLAB permite la creación de funciones de usuario. (ara construir una función seutili1a el comandofunction.+inta!is' function 7as 1 ,as 2 ,F,as n = nombrefuncion(ae 1 ,ae 2 ,F,ae m ),?onde' as, argumento de salida,

    ae, argumento de entrada.

    :na función MATLAB es un archivo M individual el cual ser- nombradonombrefuncion&m. (ara llamar una función desde un programa de usuario de MATLAB,se inserta la línea

    7as1 ,as 2 ,F,as n = nombrefuncion(ae 1 ,ae 2 ,F,ae m )&

    ejemplo'

    function 7Berimetro,6rea = Beri6reaTrian

  • 8/16/2019 GUIA N°3 DE PROGRAMACIÓN EN COMPUTADORAS

    10/10

    10

    GUIAS DE PROGRAMACIÓN EN COMPUTADORAS – PLATAFORMAMATLAB Ing. José S. Orbegoso L.

    ===============================================================

    Las funciones primero pasan valores de entrada * de salida, los cuales dentro de lafunción toman nombres distintos. las dem-s variables e!ternas quedan aisladas de lasinternas. Las funciones MATLAB utili1an el paso por valor, es decir, que hacen unacopia del valor de las variables para efectuar los c-lculos. Scr p-+"uando un cierto grupo de sentencias es mu* usado puede incluirse en un archivo cone!tensión file&m* ser llamado desde Matlab por su nombre'

    44 file G nterH

    Los scripts son simplemente listas de sentencias, al ser llamado es como si la lista desentencias fuera incluido en el prompt de Matlab.