tutorialMATLAB_upeu.pdf

download tutorialMATLAB_upeu.pdf

of 90

Transcript of tutorialMATLAB_upeu.pdf

  • 7/23/2019 tutorialMATLAB_upeu.pdf

    1/90

    UNIVERSIDAD PERUANA UNIN LIMAFACULTAD DE INGENIERA Y ARQUITECTURA

    ESCUELA DE INGENIERA DE SISTEMAS E INGENIERA CIVIL

    MANUAL DEL SOFTWARE

    MATLAB VERSIN 2015a

    ELABORADO POR:

    SORIA QUIJAITE JUAN JESS

    DOCTOR EN INGENIERA DE SISTEMAS

    LIMAPER

    2015

  • 7/23/2019 tutorialMATLAB_upeu.pdf

    2/90

    2

    MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN

    INTRODUCCIN

    MATLAB es una abreviatura de Matriz Laboratory (Laboratorio de Matrices). La

    implementacin original de Matlab la realiz Cleve Moler a finales de los aos 70, las

    aplicaciones de Matlab se fueron extendiendo a otras ramas del clculo cientfico y de las

    ciencias aplicadas en general. Dichas extensiones se consiguieron en gran parte mediante laimplementacin de toolboxes, libreras que utilizan Matlab para ampliar el rango de problemas

    que puede cubrir.

    Sin miedo a equivocarse, se pueden enunciar las siguientes reas donde Matlab muestra un

    gran potencial:

    lgebra matricial

    Procesamiento de seales

    Diseo de sistemas de control Salidas grficas

    Estadstica

    Simulacin de sistemas dinmicos

    Mtodos numricos:

    Ceros de ecuaciones no lineales

    Ceros de sistemas de ecuaciones no lineales

    Interpolacin

    Derivacin numrica

    Integracin numrica

    Ploteos de funciones reales y complejas

    Teora de Bezier

    Los B-spline y Poly-spline

    Biforcaciones y teora del Caos

    La Geometra Fractal etc.

    El lenguaje de programacin de Matlab es bastante ms flexible que el de los lenguajes

    tradicionales. No es preciso la declaracin inicial de variables, stas se pueden introducir en el

    momento que se necesiten, y por ejemplo, vectores y matrices pueden declararse sin

    especificar sus dimensiones e incluso cambiar sus tamaos sobre la marcha.

    A priori se distinguen dos tipos de funciones en Matlab:

    Funciones Compiladas (Built in functions)

    Funciones no Compiladas

  • 7/23/2019 tutorialMATLAB_upeu.pdf

    3/90

    3

    MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN

    Las primeras estn optimizadas, son programas ya compilados y con el cdigo no accesible

    para el usuario. Como ejemplos se pueden citar:

    Operaciones fundamentales : + , *, :, -,

    Las funciones matemticas : sin , cos, exp, log, log10,

    Algoritmos bsicos del lgebra lineal : inv, det, lu, chol, qr, eig, trampose, Salidas grficas : plot, surf, meshc, meshz, waterfall

    Las funciones no compiladas estn escritas siguiendo el lenguaje de programacin propio de

    Matlab. Estos comandos se guardan en ficheros*.m que es la extensin estndar de los

    ficheros de Matlab. Tambin est la extensin *.mat , propia de ficheros de datos.

    1. ENTORNO DE TRABAJO DEL MATLAB

    Entre las primeras caractersticas de Matlab destacamos las siguientes: Elprompt de Matlab es >>. El usuario escribe a continuacin

    Para ejecutar se pulsa la tecla Enter

    Se puede recuperar comandos anteriores navegando con las flechas y

    Cuando se trabaje con Matlab , debemos tener en cuenta:

    Se distinguen las maysculas de las minsculas

    El carcter % se utiliza para insertar comentarios. Todo lo que sigue es ignorado por

    Matlab

    Si se teclea al final de una orden ; sta se ejecuta pero el resultado no se visualiza

    por pantalla.

    Los nmeros reales se pueden insertar tambin en notacin cientfica, muy adecuados si se

    traza de nmeros grandes o muy pequeos (en valor absoluto). As, se tiene la siguiente regla

    de construccin para representar nmeros reales:

    Si rmx 10. entonces su equivalente es remx ..

    Ejemplos:

    310737007.0 xe

    1245310.453 12 e

    0092012.11201200000 e

    0041415.300031415.0 e

    Existen adems dos nmeros especiales: Inf y NaN . El primer signo representa la cantidad

    infinita (). La segunda, es una abreviatura de no es un nmero (Not a Number) y es el

    resultado que se devuelve ante una operacin indefinida como 0/0.

    2. OPERADORES ARITMTICOS

  • 7/23/2019 tutorialMATLAB_upeu.pdf

    4/90

    4

    MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN

    Los operadores aritmticos que se posee MATLAB se ven a continuacin:

    Operacin Descripcin Elementos a y b

    + a+b : Realiza la suma de ay b Escalares, vectores o matrices

    - a-b : Realiza la resta de ay b Escalares, vectores o matrices

    * a*b : Realiza la multiplicacin de ay b

    Escalares o matrices

    .* a .* b : Realiza la multiplicacin de a

    y b

    Escalares o de vectores

    / a / b : Realiza la divisin de aentre

    b

    Matrices

    ./ a / b : Realiza la divisin deaentre

    b

    Vectores

    \ a \ b : Realiza la divisin de bentre

    a

    Escalares o de matrices

    .\ a .\ b : Realiza la divisin de bentre

    a

    Vectores

    ^ a ^ b : Eleva la base aal exponente

    b

    Escalares o escalar de matrices

    ( pM )

    .^ a .^ b : Eleva la base aal exponenteb

    vectores

    3. OPERADORES RELACIONALES

    Los operadores relacionales que se posee MATLAB se ven a continuacin:

    Operacin Descripcin

    ~= a ~= b : Establece la condicin de ba

    > a > b : Establece la condicin deamayor queb< a < b : Establece la condicin de amenor que b

    >= a >= b : Establece la condicin de amayor o igual que b

  • 7/23/2019 tutorialMATLAB_upeu.pdf

    5/90

    5

    MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN

    MATLAB, presenta los valores de acuerdo a un formato, el que por defecto es

    format short ; existen otros

    Comandos Valor de pi

    long 3.14159265358979

    short e 3.1416e+000long e 3.141592653589793e+000

    hex 400921fb54442d18

    bank 3.14

    + +

    rad 355/113

    short 3.1416

    5. OPERADORES LGICOS

    Los operadores relacionales que se posee MATLAB se ven a continuacin:

    Operacin Descripcin

    ~A Negacin lgica (NOT) o complementario de A

    A&B Conjuncin lgica (AND) o interseccin de A y B

    A | B Disyuncin lgica inclusiva (OR) o unin de A y B

    xor(A,B) OR exclusivo (XOR) o diferencia simtrica de A y B

    6. VARIABLES

    En Matlab como en cualquier otro lenguaje de programacin se utilizan variables, estas deben

    tener un nombre segn ciertas reglas las cuales son:

    No pueden comenzar con un nmero, aunque si pueden tener nmeros en su estructura:

    variable1 es un nombre vlido.

    Las maysculas y minsculas se diferencian en los nombres de variables: A y a sonvariables diferentes.

    Los nombres de variables no pueden contener operadores ni puntos. No es vlido usar /

    , * , - , + , . , ; , : , ^ .

    Para el uso de una variable no es necesario declarar sus nombres , en la siguiente tabla se

    presenta las variables predefinidas que posee Matlab.

    Nombre de la Significado

  • 7/23/2019 tutorialMATLAB_upeu.pdf

    6/90

    6

    MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN

    variable

    pi

    i y j Unidad imaginaria = 1

    inf Infinito =

    eps psilon de la mquina =1.0000e-006

    NaN No es un nmero

    realmin Menor nmero 10222

    relamas Mayor nmero 10232)2( e

    Date Fecha

    flops Contador de operaciones de punto flotante

    nargin Nmero de argumentos de entrada de una funcin

    nargout Nmero de argumentos de salida de una funcin

    7. COMANDOS DE LECTURA Y ESCRITURA

    Matlab provee una forma sencilla de leer variables desde el teclado y visualizar mensajes

    en la pantalla de la computadora a travs de las siguientes funciones:

    input .- Permite el ingreso de datos al programa a travs del teclado asignndolo a una

    variable, esta orden puede usarse con un mensaje en la lnea de comandos. Despus

    de imprimir el mensaje, la orden espera que el usuario digite el valor numrico, un

    vector, una matriz o una expresin vlida delmatlab.

    Ejemplo:

    z= input(ingrese un nmero, s)

    Asigna a la variable z la cadena ingresada

    s : indica que la entrada que se har por el teclado es una cadena

    fprintf.- Permite la visualizacin de un valor numrico o el resultado de una expresin

    guardada por el usuario.

    Ejemplo:

    >> vol=25

    >>fprintf (el volumen de la esfera es:, %12.0f \ n, vol )

    \ n : indica que la impresin de la variable vol ser en la siguiente lnea

    %12.0f : formato de un nmero entero

    %12.5f : formato de un nmero real con 5 decimales.

  • 7/23/2019 tutorialMATLAB_upeu.pdf

    7/90

    7

    MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN

    disp.- Permite visualizar en pantalla un mensaje de texto o el valor de una matriz, pero

    sin imprimir su nombre. En realidad, dispsiempre imprime vectores y/o matrices, las

    cadenas de caracteres se consideran un caso particular de vectores.

    Ejemplos:

    >> disp(Esta es una prueba)>> disp(pi)

    >> disp(El programa ha terminado)

    >> A=rand(4,4)

    >> disp(A)

    clear : Borra las variables usadas de la memoria

    clc : Limpia la informacin de la ventana de comandos

    8. FUNCIONES MATEMTICAS EN MATLAB

    Matlab ofrece un sinnmero de funciones las que aceptan como argumento variables reales

    y/o complejas sin discriminacin, as como con argumentos matriciales.

    FUNCIONES TRIGONOMTRICAS

    FUNCIN- Matlab DESCRIPCIN FUNCIN INVERSA

    sin(x) Seno de x asin(x)

    cos(x) Coseno de x acos(x)

    tan(x) Tangente de x atan(x) y atan2(x)

    cot(x) Cotangente de x acot(x)

    sec(x) Secante de x asec(x)

    csc(x) Cosecante de x acsc(x)

    FUNCIONES HIPERBLICAS

    FUNCIN- Matlab DESCRIPCIN FUNCIN INVERSA

    sinh(x) Seno hiperblico de x asinh(x)

    cosh(x) Coseno hiperblico de x acosh(x)

    tanh(x) Tangente hiperblica de x atanh(x)

    coth(x) Cotangente hiperblica x acoth(x)

    sech(x) Secante hiperblica de x asech(x)

    csch(x) Cosecante hiperblica x acsch(x)

  • 7/23/2019 tutorialMATLAB_upeu.pdf

    8/90

    8

    MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN

    FUNCIONES EXPONENCIALES Y LOGARTMICAS

    FUNCIN- Matlab DESCRIPCI N Lenguaje

    matemtico

    exp(x) Funcin exponencial en base e

    (e^x)

    xexf )(

    log(x) Funcin logaritmo en base e de x )()( xLnxf

    log10(x) Funcin logaritmo en base 10 de

    x

    )()( xLogxf

    log2(x) Funcin logaritmo en base 2 de x )()( 2 xLogxf

    pow2(x) Funcin potencia de base 2 de x xxf 2)(

    sqrt(x) Funcin raz cuadrada de x xxf )(

    FUNCIONES ESPECFICAS DE VARIABLE NUMRICA

    FUNCIN- Matlab DESCRIPCIN Lenguaje

    matemtico

    abs(x) Valor absoluto del real x xxf )(

    floor(x) El mayor valor entero o igual que

    el real xceill(x) El menor entero mayor o igual que

    el real x

    round(x) El entero mas prximo al real x

    rem(a,b) Da el resto de la divisin entre los

    reales a y b

    sing(x) Signo del real x (1 si x>0 ; -1 si

    x

  • 7/23/2019 tutorialMATLAB_upeu.pdf

    9/90

    9

    MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN

    Como la unidad imaginaria se representa mediante los smbolos ioj , los nmeros complejos

    se expresan de la forma z=a+bi z=a+bj. Es notorio el hecho de no necesitar el smbolo del

    producto (el asterisco) antes de la unidad imaginaria.

    FUNCIONES TRIGONOMTRICAS COMPLEJAS

    FUNCIN- Matlab DESCRIPCI N FUNCI N INVERSAsin(z) Seno de z asin(z)

    cos(z) Coseno de z acos(z)

    tan(z) Tangente de z atan(z) y atan2(z)

    cot(z) Cotangente de z acot(z)

    sec(z) Secante de z asec(z)

    csc(z) Cosecante de z acsc(z)

    FUNCIONES HIPERBLICAS

    FUNCIN- Matlab DESCRIPCIN FUNCIN INVERSA

    sinh(z) Seno hiperblico de z asinh(z)

    cosh(z) Coseno hiperblico de z acosh(z)

    tanh(z) Tangente hiperblica de z atanh(z)

    coth(z) Cotangente hiperblica de

    z

    acoth(z)

    sech(z) Secante hiperblica de z asech(z)

    csch(z) Cosecante hiperblica de

    z

    acsch(z)

    FUNCIONES EXPONENCIALES Y LOGARTMICAS

    FUNCIN- Matlab DESCRIPCIN Lenguaje matemtico

    exp(z) Funcin exponencial en base e(e^z)

    zezf )(

    log(z) Funcin logaritmo en base e de z )()( zLnzf

    log10(z) Funcin logaritmo en base 10 z )()( zLogzf

    log2(z) Funcin logaritmo en base 2 de z )()( 2 zLogzf

    pow2(z) Funcin potencia de base 2 de z zzf 2)(

    sqrt(z) Funcin raz cuadrada de zzzf )(

  • 7/23/2019 tutorialMATLAB_upeu.pdf

    10/90

  • 7/23/2019 tutorialMATLAB_upeu.pdf

    11/90

    11

    MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN

    Sentencia if

    En su forma ms simple, la sentencia if se escribe en la forma siguiente :

    ifcondicin

    sentencias

    end

    Ejemplo

    input('ingrese x=')

    if rem(x,2)==0

    fprintf('el nmero es par');

    else

    fprintf('el nmero es impar');end

    Resultados

    ingrese x=20

    ans = 20 el nmero es par

    Bifurcacin mltiple

    En la bifurcacin mltiple pueden concatenarse tantas condiciones if como se desee, de tal

    manera que se ejecutar el bloque que pertenece a la condicin que es verdadera, a

    continuacin se presenta su sintaxis:

    if condicin 1

    bloque 1

    elseif condicin 2

    bloque 2

    elseif condicin 3

    bloque 3

    else

    bloque 4

    end

    Los Bucles

    Permiten repetir las mismas o anlogas operaciones sobre datos distintos. A continuacin se

    muestras dos posibles formas debucles, con el control situado al principio o al final del mismo.

    Si el control est situado al comienzo del bucle es posible que las sentencias no se ejecuten

    ninguna vez, por no haberse cumplido la condicin cuando se llega al bucle por primera vez.

  • 7/23/2019 tutorialMATLAB_upeu.pdf

    12/90

    12

    MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN

    Sin embargo, si la condicin est al final del bucle las sentencias se ejecutarn por lo menos

    una vez, aunque la condicin no se cumpla. En Matlab no hay bucles con control al final del

    bucle, es decir, no existe la construccin anloga a do while.

    Sentencia whileLa estructura del bucle while es muy similar a la C/C++/Java. Su sintaxis es la siguiente:

    whilecondicin

    sentencias

    end

    Donde la expresin puede ser una expresin vectorial o matricial. Las sentencias se siguen

    ejecutando mientras haya elementos distintos de cero en la condicin; el bucle se terminacuando todos los elementos de l a condicin son falsos.

    Ejemplo

    >> x=0; suma=0;

    >>while x > disp(La suma es: );

    >> disp(suma);

    Sentencia for

    La sentenciafor repite un conjunto de sentencias un nmero predeterminado de veces. La

    sentencia forde Matlab es muy diferente y no tiene la generalidad de la sentencia for de

    C/C++/Java.

    La siguiente estructura de control ejecuta sentencias con valores deide 1a n , variando de

    uno en uno.

    for i=1: n

    sentencias

    end

    Ejemplo1

    >>for x=1: 2 : 9

    y= x.^2 - 1;

    disp([x, y]);

  • 7/23/2019 tutorialMATLAB_upeu.pdf

    13/90

    13

    MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN

    end

    %Nos devuelve los resultados

    1 0

    3 8

    5 247 48

    9 80

    Ejemplo2

    >>x=1:5;

    suma=0;

    for n=1:5suma=suma+x(n);

    end;

    %Resultado

    suma=15

    Ejemplo3 (calcula la desviacin estndar de la matriz x)

    >>x=[11 9 12 8 10];

    suma=0;

    for n=1:5

    suma=suma+x(n);

    end;

    p=suma/5; %Halla la media aritmtica

    suma=0;

    for n=1:5

    suma=suma+(x(n)-p).^2;

    end

    desv=sqrt(suma/5);

    desv

    %Resulatado desv=1.4142

    Nota: Si el incremento no se especifica Matlab asigna por defecto el incremento que es igual a

    1.

    En el siguiente ejemplo se presenta el caso mas general para la variable del bucle

  • 7/23/2019 tutorialMATLAB_upeu.pdf

    14/90

    14

    MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN

    for i=(valor_inicial : incremento : valor_final) ; el bucle se ejecuta por primera vez con i=n , y

    luego i se va reduciendo de 0.2 en 0.2 hasta que llega a ser menor que 1, en cuyo caso el

    bucle se termina:

    fori=n : -0.2 : 1sentencias

    end

    Bucles anidados

    Se presenta em el caso que um bucle forme parte de las sentencias de outro bucle, en la

    siguiente sintaxis la variablej es la que vara ms rpidamente, por cada valor de i , jtoma

    todos sus posibles valores.

    for i=1: m

    sentencias1

    for j=1: n

    sentencias2

    end

    end

    Observacin.- Cuando se introducen los bucles interactivamente en la lnea de comandos, los

    bucles forse ejecutan slo despus de introducir la sentencia end que los completa.

    Sentencia break

    La sentencia break hace que se termine la ejecucin del bucle fory/o while ms interno de los

    que comprenden a dicha sentencia.

    El siguiente ejemplo termina la ejecucin del for interno, cada vez que el valor de m es mayor

    que 2 veces el valor de k.

    Ejemplo

    >> for k=1:2

    for m=1:7

    if m>2*k

    break

    else

    disk([k,m])

  • 7/23/2019 tutorialMATLAB_upeu.pdf

    15/90

    15

    MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN

    end

    end

    end

    nos devuelve como resultado:

    1 11 2

    2 1

    2 2

    2 3

    2 4

    Sentencia switch

    La sentencia switch realiza una funcin anloga a un conjunto de if elseif conectados, suforma general es la siguiente:

    switch switch _expresin

    casecase_expr1,

    bloque 1

    case{case_expr2, case_expr2, case_expr2,. }

    bloque 2

    otherwise, %Opcin por defecto

    Bloque 3

    end

    Al principio se evala la switch_expresin, cuyo resultado debe ser un nmero escalar o una

    cadena de caracteres. Este resultado se compara con los case_expr, y se ejecuta el bloque de

    sentencias que corresponda con ese resultado, si ninguno es igual a switch_expresion se

    ejecutan las sentencias correspondientes a otherwise.

    1. Arreglos

    Un arreglo es un conjunto ordenados de datos. Sea x una arreglo entonces

    nxxxxx ;;;;; 4321 son sus primero, segundo y n-simo elementos.

    2. Variables de arreglo unidimensional

    Las variables de arreglo unidimensional tienen forma de fila o columna y estn relacionadas

    con los vectores y las matrices. En Matlab, arreglo de filaes lo mismo que vector de fila y

    arreglo de columnaes lo mismo que vector columna. NOTA PONERLE LOS BUCLES

  • 7/23/2019 tutorialMATLAB_upeu.pdf

    16/90

    16

    MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN

    En Matlab los arreglos, se definen entre corchetes.

    Considere el arreglo x con valores de los enteros : 10,8,6,4,2x

    >> x=[2 4 6 8 10]

    x = 2 4 6 8 10Si para cada punto

    ix se asocia la ecuacin de lnea 23 ii xy ; entonces el arreglo y se

    define por y=3*x+2

    >> y=3*x+2

    y =8 14 20 26 32

    Un tamao de un arreglo se puede incrementar, abriendo el arreglo para otro valor

    >> x=[x,12]

    x = 2 4 6 8 10 12

    3. DIRECIONANDO ARREGLOS

    Un elemento de un arreglo puede ser direccionado ,indicando el nmero del ndice entre

    parntesis ; as x(2)es el segundo valor del arreglo x ; luego se puede calcular la suma de

    todos los valores : x(1)+x(2)+x(3)+x(4)+x(5)+x(6)x = 2 4 6 8 10 12

    >> x(1)+x(2)+x(3)+x(4)+x(5)+x(6)

    ans = 42

    Para acceder a un bloque de elemento a la vez, se provee la notacin de los dos puntos ( : ) ;

    as x(1:4), son los cuatro primeros elementos del arreglo x

    >> x(1:4)ans = 2 4 6 8

  • 7/23/2019 tutorialMATLAB_upeu.pdf

    17/90

    17

    MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN

    Para representar desde el cuarto elemento hasta el primero en orden ascendente, se

    especifica como x(4:-1:1)

    CLCULO SIMBLICO: ANLISIS MATEMTICO Y LGEBRA

    CALCULO SIMBLICO CON MATLAB

    MATLAB dispone del mdulo Symbolic Math toolbox, que permite manejar perfectamente el

    clculo matemtico simblico, manipular con facilidad y rapidez las frmulas y expresiones

    algebraicas y realizar la mayora de las operaciones con las mismas. Es posible expandir,

    factorizar y simplificar polinomios y expresiones racionales y trigonomtricas; encontrar

    soluciones algebraicas de ecuaciones polinmicas y sistemas de ecuaciones; evaluar

    derivadas e integrales simblicamente y encontrar funciones solucin de ecuacionesdiferenciales; manipular series de potencias, lmites y muchas otras facetas de la matemtica

    algebraica. Para realizar esta tarea, MATLAB requiere que todas las variables (o expresiones

    algebraicas) sean declaradas como simblicas previamente con el comando syms (o con

    sym).

    El toolbox de matemtica simblica de MATLAB aporta varios comandos para definicin y

    conversin de variables simblicas que se explican a continuacin:

    FUCNCIN DESCRIPCIN

    symsx y z t Convierte las variables x,y,z,,t en simblicas

    symsx y z t real Convierte las variables x,y,z,,t en simblicas con valores

    reales

    symsx y z t unreal Convierte las variables x, y, z ,, t en simblicas con

    valores no reales

    syms Lista las variables simblicas en el espacio de trabajo

    x=syms(x) Convierte la variable x en simblica (equivale a symsx)

    x=syms(x,real) Convierte a x en una variable simblica real

    x=syms(x,unreal) Convierte a x en una variable simblica no real

    S=syms(A) Crea un objeto simblico a partir de A, donde A puede ser

    una cadena, un escalar, una matriz, una expresin

    numrica, etc.

    S=syms(A, opcion) Convierte la matriz, escalar o expresin numrica A a

    smbolos segn la opcin especificada. La opcin puede ser

  • 7/23/2019 tutorialMATLAB_upeu.pdf

    18/90

    18

    MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN

    f para punto flotante, r para racional, e para formato de

    error y d para decimal.

    numeric(x) o

    double(x)

    Convierte la variable o expresin x a numrica de doble

    precisin

    syms2poly( poli ) Convierte el polinomio simblico pol i en un vector cuyascomponentes son sus coeficientes.

    poly2sym(vector) Convierte el vector en un polinomio simblico cuyos

    coeficientes son las componentes del vector.

    poly2sym(vector, v) Convierte el vector en un polinomio simblico en la variable

    v cuyos coeficientes son las componentes del vector.

    char(X) Convierte el array X de enteros ASCII a su valor como

    cadenalatex(S) Convierte a codigo latex la expresin simblica S

    ccode(S) Convierte a cdigo C la expresin simblica S

    pretty(expr) Convierte la expresin simblica a escritura matemtica

    vpa(expr) Resultado numrico de la expresin con los dgitos

    decimales de precisin situados en digits

    vpa(expr, n) Resultado numrico de la expresin con n dgitos decimales

    vpa(expr, n) Resultado numrico de la expresin con n dgitos decimalesfindsym(S) Devuelve todas las variables simblicas en la expresin

    simblica o matriz simblica S

    Isvarname(S) Devuelve TRUE si S es una variable simblica vlida

    vectorize(S) Inserta un punto en la cadena S antes de cualquier smbolo

    ^ , * , / con la finalidad de operar vectorialmente de forma

    correcta.

    EJERCICIOS DE APLICACIN

    1. Reducir 3333 )()1(3)2(3)3( babababaP

    Resolucin

    >> syms a b p

    p=(a+b+3).^3-3*(a+b+2).^3+3*(a+b+1).^3-(a+b).^3;

    simplify(p)

    %ans = 6

  • 7/23/2019 tutorialMATLAB_upeu.pdf

    19/90

    19

    MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN

    2. Simplificar333

    333333

    )()()(

    )()()(

    accbba

    acbcbabacR

    Resolucin

    >> syms a b c n d R

    n=c.^3*(a-b).^3+a.^3*(b-c).^3+b.^3*(c-a).^3;d=(a-b).^3+(b-c).^3+(c-a).^3;

    R=n./d;

    pretty(R)

    simplify(R)

    3 3 3 3 3 3

    c (a - b) + a (b - c) + b (c - a)

    % ---------------------------------------3 3 3

    (a - b) + (b - c) + (c - a)

    %ans =c*a*b

    3. Calcular ExF si las expresiones son 50)13()4)(2)(5)(3( 22 xxxxxxE y

    )4)(3)(2)(1()55( 22 xxxxxxF

    Resolucin>> syms x E F P

    E=(x-3).*(x-5).*(x+2).*(x+4)-(x.^2-x-13).^2+50;

    F=(x.^2+5*x+5).^2-(x+1).*(x+2).*(x+3).*(x+4);

    P=E.*F;

    pretty(P);

    simplify(P)

    2 2% ((x - 3) (x - 5) (x + 2) (x + 4) - (x - x - 13) + 50)

    2 2

    % ((x + 5 x + 5) - (x + 1) (x + 2) (x + 3) (x + 4))

    % ans =1

    4. Sea 26756 234 xxxxf ; 72432 234 xxxxg ; 35297 234 xxxxh

    Calcular f+g+hResolucin

  • 7/23/2019 tutorialMATLAB_upeu.pdf

    20/90

    20

    MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN

    >> syms x R

    f=6*x.^4-5*x.^3+7*x.^2-6*x-2;

    g=-2*x.^4+3*x.^3-4*x.^2+2*x+7;

    h=7*x.^4-9*x.^3+2*x.^2-5*x-3;

    R=f+g+h;simplify(R)

    pretty(R)

    %ans =11*x^4-11*x^3+5*x^2-9*x+2

    4 3 2

    % 11 x - 11 x + 5 x - 9 x + 2

    5. Sea 243)( 2 xxxf . Hallar f(2)+f(-3)

    Resolucin

    syms x

    f=3*x^2-4*x+2;

    subs(f,2)+subs(f,-3)

    %ans = 47

    %realiza lo mismo

    >> f='3*x^2-4*x+2';

    subs(f,2)+subs(f,-3)

    %ans = 47

    6. Sea 564)( 23 xxxxf . Calcular )1(af

    Resolucin>> syms x a

    f=x^3+4*x^2-6*x+5;

    p=subs(f,a+1)

    pretty(p)

    simplify(p)

    %p =(a+1)^3+4*(a+1)^2-6*a-1

    3 2

    % (a + 1) + 4 (a + 1) - 6 a - 1

  • 7/23/2019 tutorialMATLAB_upeu.pdf

    21/90

    21

    MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN

    %ans =a^3+7*a^2+5*a+4

    7. Sea 222),,( zyxzyxf . calcular )1;2;1()3;2;2( ff

    Resolucin

    >> syms x y zf=x^2+y^2+z^2;

    p=subs(f,{x,y,z},{-2 2 3})+subs(f,{x,y,z},{-1 -2 1})

    % p =23

    8. Sea 222 45);;( zyxzyxf . Calcular )1;1;( aaaf

    Resolucin

    >> syms x y z af=x^2+5*y^2+4*z^2;

    p=subs(f,{x,y,z},{a a-1 a+1})

    pretty(p);

    simplify(p)

    %p =a^2+5*(a-1)^2+4*(a+1)^2

    2 2 2% a + 5 (a - 1) + 4 (a + 1)

    %ans =10*a^2-2*a+9

    9. Calcular la funcin inversa de )2(5)( xLogxf

    Resolucin

    >> syms xf=5-log(x+2);

    f1=finverse(f)

    pretty(f1)

    % f1 =exp(5-x)-2

    10. Calcular la funcin inversa de 54)( xxg

    Resolucin

    >> syms xg=4-sqrt(x+5);

    g1=finverse(g)

  • 7/23/2019 tutorialMATLAB_upeu.pdf

    22/90

    22

    MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN

    pretty(g1)

    % g1 =11-8*x+x^2

    2

    % 11 - 8 x + x

    11. Calcular272

    54463

    23

    nnnnnLim

    n

    Resolucin

    >> syms n

    f=(6*n^3+4*n^2-4*n+5)/(2*n^3-7*n+2)

    limit(f,inf)

    %f =(6*n^3+4*n^2-4*n+5)/(2*n^3-7*n+2)

    %ans =3

    >> % en forma equivalente

    limit((6*n^3+4*n^2-4*n+5)/(2*n^3-7*n+2),inf)

    %ans =3

    12. Calcular n

    nLimn

    1

    Resolucin

    >> syms n

    f=((1+n)/n)^(1/2);

    limit(f,inf)

    %ans =1

    13. Calcular1

    3

    23

    52

    123x

    n xx

    xxxLim

    Resolucin

    >> syms x

    f=((x.^3+3*x.^2+2*x-1)./(x.^3+2*x-5)).^(x+1);

    limit(f,inf)

    %ans =exp(3)

  • 7/23/2019 tutorialMATLAB_upeu.pdf

    23/90

    23

    MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN

    14. Calcular xxxxLimx

    22

    Resolucin

    >> syms x

    f=(sqrt(x+sqrt(2*x))-sqrt(x-sqrt(2*x)));

    limit(f,inf)

    %ans =2^(1/2)

    15. Calcular2

    652

    2 x

    xxLimx

    Resolucin

    >> syms x

    f=(x^2-5*x+6)/(x-2);

    limit(f,2)

    %ans =-1

    16. Calcular)cos(.

    )3()7(

    0 xx

    xsenxsenLimx

    Resolucin

    >> syms x

    f=(sin(7*x)-sin(3*x))./(x.*cos(x));

    limit(f,0)

    %ans =4

    17. Calcular20

    )cos()cos(2

    x

    xxLimx

    Resolucin

    >> syms x

    f=(2-sqrt(cos(x))-cos(x))./(x.^2);

    limit(f,0)%ans =3/4

    18. Calcular9

    3

    9 x

    xLimx

    Resolucin

    >> syms x

    f=(sqrt(x)-3)/(x-9);

    limit(f,9)%ans =1/6

  • 7/23/2019 tutorialMATLAB_upeu.pdf

    24/90

    24

    MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN

    19. Calcular la derivada de )3sin(32)( 23 xexxf x

    Resolucin

    >> syms x

    f=x^3-2*exp(-2*x)+sin(3*x);

    p=diff(f)%p =3*x^2+4*exp(-2*x)+3*cos(3*x)

    20. Calcular la segunda derivada de )3sin(32)( 23 xexxf x

    Resolucin

    >> syms x

    f=x^3-2*exp(-2*x)+sin(3*x);

    p=diff(diff(f))%p =6*x-8*exp(-2*x)-9*sin(3*x)

    21. Calcular la tercera derivada de )3sin(32)( 23 xexxf x

    Resolucin

    >> syms x

    f=x^3-2*exp(-2*x)+sin(3*x);

    p=diff(diff(diff(f)))

    %p =6+16*exp(-2*x)-27*cos(3*x)

    % En forma equivalente

    >> syms x

    f=x^3-2*exp(-2*x)+sin(3*x);

    p=diff(f,3) %calcula la tercera derivada

    %p =6+16*exp(-2*x)-27*cos(3*x)

    21. Sea xyexyyxyxf 2)32cos();( . Calcularx

    yxf );(

    Resolucin

    >> syms x y

    f=cos(2*x+3*y)-2*x*y-exp(x*y);

    p=diff(f,x) %derivada parcial respecto de x

    pretty(p)

    %p =-2*sin(2*x+3*y)-2*y-y*exp(x*y)

    % -2 sin(2 x + 3 y) - 2 y - y exp(x y)

  • 7/23/2019 tutorialMATLAB_upeu.pdf

    25/90

    25

    MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN

    21. Sea xyexyyxyxf 2)32cos();( . Calculary

    yxf );(

    Resolucin

    >> syms x y

    f=cos(2*x+3*y)-2*x*y-exp(x*y);p=diff(f,y) %derivada parcial respecto de y

    pretty(p)

    %p =-3*sin(2*x+3*y)-2*x-x*exp(x*y)

    % -3 sin(2 x + 3 y) - 2 x - x exp(x y)

    22. Sea xyexyyxyxf 2)32cos();( . Calcularxy

    yxf );(2

    Resolucin>> syms x y

    f=cos(2*x+3*y)-2*x*y-exp(x*y);

    p=diff(diff(f,x),y) %derivada parcial cruzada de df/dydx

    pretty(p)

    %p =-6*cos(2*x+3*y)-2-exp(x*y)-y*x*exp(x*y)

    % -6 cos(2 x + 3 y) - 2 - exp(x y) - y x exp(x y)

    23. Calcular dxexxsen x )3)(( 22

    Resolucin

    >> syms x

    f=sin(x)-3*x^2+exp(-2*x);

    int(f,x)

    %ans =-cos(x)-x^3-1/2*exp(-2*x)

    24. Calcular dxxx

    xx

    65

    952

    2

    Resolucin

    >> syms x

    f=(x.^2-5*x+9)./(x.^2-5*x+6);

    int(f,x)

    %ans =x-3*log(x-2)+3*log(x-3)

  • 7/23/2019 tutorialMATLAB_upeu.pdf

    26/90

    26

    MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN

    25. Calcular dxxxx

    xx

    )4)(3)(1(

    91412 2

    Resolucin

    >> syms xf=(2*x.^2+41*x-91)./((x-1).*(x+3).*(x-4));

    int(f,x)

    %ans =-7*log(x+3)+5*log(x-4)+4*log(x-1)

    26. Calcular dxxxsen )cos(7)(48

    1

    Resolucin

    >> syms x

    f=(1)./(8-4*sin(x)+7*cos(x));

    int(f,x)

    %ans =log(tan(1/2*x)-5)-log(tan(1/2*x)-3)

    27. Calcular dxxxsen

    xxsen

    )cos()(1

    )cos()(1

    Resolucin

    >> syms x

    f=(1-sin(x)+cos(x))./(1+sin(x)-cos(x));

    int(f,x)

    %ans =-2*log(tan(1/2*x)+1)+2*log(tan(1/2*x))-x

    28. Calcular dxdyeyx y )5)(cos( 22

    Resolucin

    >> syms x y

    f=cos(x)-5*y^2+exp(-2*y);

    p=int(int(f,x),y)% integral doble de f respecto a x,luego a y

    %p =sin(x)*y-5/3*y^3*x-1/2*exp(-2*y)*x

    29. Calcular dxdydzzyxsen )23)(( 32

    Resolucin

  • 7/23/2019 tutorialMATLAB_upeu.pdf

    27/90

    27

    MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN

    >> syms x y z

    f=sin(x)-3*y^2+2*z^3;

    p=int(int(int(f,x),y),z)

    %p =-cos(x)*y*z-y^3*x*z+1/2*z^4*x*y

    30. Calcular2

    1

    2 )32( dxxx

    Resolucin

    >> syms x

    f=(x.^2-2*x+3);

    p=int(f,x,1,2)

    %p =7/3

    31. Calcular4

    3

    2 23

    1dx

    xx

    Resolucin

    >> syms x

    f=1./(x.^2-3*x+2);

    p=int(f,x,3,4)

    %p =2*log(2)-log(3)

    32. Calcular4

    0

    5

    2

    2))(( dydxxysenx

    Resolucin

    >> syms x y

    f=x^2+y*sin(x);

    int(int(f,y,-2,5),x,0,4)

    %ans =959/6-21/2*cos(4)

    33. Calcular1

    0

    1

    0

    1

    0 1

    1dxdydz

    zyx

    Resolucin>> syms x y z

    f=1/sqrt(x+y+z+1);

  • 7/23/2019 tutorialMATLAB_upeu.pdf

    28/90

    28

    MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN

    p=int(int(int(f,z,0,1),y,0,1),x,1,0)

    %p =-248/15+72/5*3^(1/2)-32/5*2^(1/2)

    34. Calcular2

    0

    4

    3

    3

    1

    )6)(..( dzdydxyzxsenyx

    Resolucin

    >> syms x y z

    f=x*y*(sin(x-z))+6*y;

    p=int(int(int(f,x,1,3),y,-3,4),z,0,2)

    %p =35/2*sin(1)+84-7/2*cos(3)-21/2*sin(3)+7/2*cos(1)

    REPRESENTACIN GEOMTRICA: CURVAS Y SUPERFICIES

    Los comandos ms importantes de MATLAB para representar curvas en dos dimensiones se

    presentan a continuacin:

    plot(X,Y) Dibuja el conjunto de puntos (X,Y), donde X e Y son vectores

    fila. Para graficar una funcin y=f(x) es necesario conocer un

    conjunto de puntos (X,f(X)), para lo que hay que definir

    inicialmente un intervalo de variacin vectorial X para lavariable x. X e Y pueden ser matrices de la misma dimensin,

    en cuyo caso se hace una grfica por cada par de filas y sobre

    los mismos ejes. Para valores complejos de X e Y se ignora

    las partes imaginarias. Para x=x(t) e y=y(t) con la variacin de

    t dada, grafica la curva paramtrica plana especificada.

    plot(Y) Grafica los elementos del vector Y contra sus ndices, es decir,

    da la grfica del conjunto de puntos ntytt

    ,2,1;),(

    (n=length(Y)). Es til para graficar series temporales. Si Y es

    una matriz, plot(Y) realiza un grfico para cada columna de Y,

    representndolos todos sobre los mismos ejes. Si los

    componentes del vector Y son complejos, plot(Y) es

    equivalente a plot(real(Y),imag(Y)).

    plot(X,Y,S) Grfica de plot(X,Y) con las opciones definidas en S.

    Usualmente, S se compone de dos dgitos entre comillas

    simples, el primero de los cuales fija el color de la lnea del

    grfico y el segundo el caracter a usar en el graficado. Los

  • 7/23/2019 tutorialMATLAB_upeu.pdf

    29/90

    29

    MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN

    valores posibles de colores y caracteres son, respectivamente,

    los siguientes: y (amarillo), m (magenta), c (cyan), r (rojo) g

    (verde), b (azul), w (blanco), k (negro), .(punto), o (crculos), x

    (x-marcas), + (signo ms), - (slido), * (estrellas), : (dos

    puntos), -.(guiones y punto) y -(semislido).plot(X1,Y1,S1,X2,Y2,S2,) Combina sobre los mismos ejes, los grficos definidos para las

    tripletas (Xi,Yi,Si). Se trata de una forma de representar varias

    funciones sobre el mismo grfico.

    fplot(f,[xmin,xmax]) Grafica la funcin en el intervalo de variacin de x dado

    fplot(f,[xmin,xmax,ymin,

    ymax],S)

    Grafica la funcin en los intervalosde variacin de x e y dados,

    con las opciones de color y caracteres dadas por S

    fplot([f1,f2,,fn],[xmin,xmax,ymin,ymax],S)

    Grafica las funciones f1, f2, , fn sobre los mismos ejes en losintervalos de variacin de x e y especificados y con las

    opciones de color y caracteres definidas en S.

    fplot(f,[xmin,xmax],,t) Grafica f con la tolerancia t

    fplot(f,[xmin,xmax],,n) Grafica f con la tolerancia t como n+1 puntos como mnimo

    ezplot(f,[xmin xmax]) Grafica la funcin en el intervalo de variacin de x dado

    ezplot(f,[xmin,xmax,

    ymin,ymax])

    Grafica la funcin en los intervalos de variacin de x e y dados

    ezplot(x,y) Grafica la curva paramtrica plana x=x(t) e y=y(t) sobre el

    dominio 0

  • 7/23/2019 tutorialMATLAB_upeu.pdf

    30/90

    30

    MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN

    componentes (Xi,Yi) de los vectores columna X e Y. C es un

    vector de la misma dimensin de X e Y, que contiene los

    colores Ci de cada punto (Xi,Yi). Si C es un solo caracter , se

    pintarn todos los puntos del polgono del color

    correspondiente al caracter. Si X e Y son matrices de la mismadimensin, se representarn simultneamente varios

    polgonos correspondientes a cada par de vectores columna

    (Xj,Yj). En este caso C puede ser un vector fila cuyos

    elementos Cj determinan el color nico de cada polgono

    correspondiente al par de vectores columna (Xj,Yj). C puede

    ser tambin una matriz de la misma dimensin que X e Y, en

    cuyo caso sus elementos determinan los colores de cadapunto (Xij,Yij) del conjunto de polgonos.

    fill(X1,Y1,C1,) Dibuja el polgono compacto cuyos vrtices vienen dados por

    los puntos (Xi,Yi,Ci).

    TTULOS, ETIQUETAS Y COLOCACIN

    MATLAB permite manejar correctamente las anotaciones sobre los grficos y los ejes

    mediante colocacin adecuada de ttulos, etiquetas, leyendas, rejillas, etc. Tambin permite

    situar grficos en subzonas. Los comandos ms usuales son los siguientes:

    title(texto) Aade el texto como ttulo del grfico en la parte superior del

    mismo en grficos 2-D y 3-D

    xlabel(texto) Sita el texto al lado del eje x en grficos 2-D y 3-D

    yabel(texto) Sita el texto al lado del eje y en grficos 2-D y 3-D

    zlabel(texto) Sita el texto al lado del eje z en un grfico 3-D

    clabel(C,h) Rota etiquetas y las sita en el interior de las lneas de contorno

    clabel(C,h,v) Crea etiquetas slo para los niveles de contorno dados por el

    vector v y las rota y sita en el interior de las lneas de contorno

    datetick(eje) Etiqueta las marcas del eje especificado (x, y o z) basndose

    en el mximo y el mnimo del eje especificado

    datetick(eje,fecha) Etiqueta las marcas del eje especificado (x, y o z) con el

    formato de fecha dado (un entero entre 1 y 28)

    legend (cadena1, Sita las leyendas especificadas por las cadenas en n grficos

  • 7/23/2019 tutorialMATLAB_upeu.pdf

    31/90

    31

    MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN

    cadena2, ) consecutivos

    legend (h,cadena1,

    cadena2, )

    Sita las leyendas especificadas por las cadenas en los grficos

    manejados segn el vector h

    legend (off) Elimina las leyendas de los ejes actuales

    text(x,y, texto) Sita el texto en el punto (x,y) dentro del grfico 2-Dtext(x,y,z, texto) Sita el texto en el punto (x,y,z) en el grfico 3-D

    gtext(texto) Permite situar el texto en un punto seleccionado con el ratn

    dentro de un grfico 2-D.

    grid Sita rejillas en los ejes de un grfico 2-D o 3-D. La opcin gr id

    on coloca las rejillas y grid off las elimina. La opcin gr id

    permuta entre on y off.

    hold Permite mantener el grfico existente con todas suspropiedades, de modo que el siguiente grfico que se realice se

    site sobre los mismos ejes y se superponga al existente. La

    opcin hold onactiva la opcin y hold of f la elimina. La opcin

    hold permuta entre on y off. Vlido para 2-D y 3-D.

    axis([xmin xmax ymin

    ymax zmin zmax])

    Sita los valores mximo y mnimo para los ejes X, Y y Z en el

    grfico corriente.axis(auto) Sita los ejes en la escala automtica por defecto (la dada por

    xmin=min(x), xmax=max(x) e ylibre)

    axis(axis) Congela el escalado de ejes en los lmites corrientes, de tal

    forma que al situar otro grfico sobre los mismos ejes(con hold

    en on) la escala no cambie

    V=axis Da el vector V de 4 elementos, conteniendo la escala del grfico

    corriente.axis(xy) Sita coordenadas cartesianas con el origen en la parte inferior

    izquierda del grfico

    axis(tight) Sita los lmites de los ejes en el rango de los datos

    axis(ij) Sita coordenadas con el origen en la parte superior izquierda

    del grfico

    axis(square) Convierte el rectngulo de graficado en un cuadrado, con lo que

    las figuras se abombanaxis(equal) Sita el mismo factor de escala para ambos ejes

  • 7/23/2019 tutorialMATLAB_upeu.pdf

    32/90

    32

    MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN

    axis(normal) Elimina las opciones squarey equal

    axis(off) Elimina las etiquetas y marcas de los ejes y las rejillas,

    manteniendo el ttulo del grfico y los textos situados en l con

    texty gtext

    axis(on) Coloca de nuevo las etiquetas, marcas y rejillas de los ejesSubplot(m,n,p) Divide la ventana grfica en mxn subventanas y coloca el grfico

    corriente en la ventana p-sima, empezando a contar por la

    parte superior izquierda y de izquierda a derecha hasta acabar la

    lnea, para pasar a la siguiente.

    plotyy(X1,Y1,X2,Y2) Etiqueta la grfica de X1 contra Y1 en la izquierda, y la grfica

    de X2 contra Y2 en la derecha.

    plotyy(X1,Y1,X2,Y2,funcin )

    Igual que el comando anterior, pero la funcin puede ser plot,loglog, semilogx, semilogy, item o cualquier h=function(x,y).

    plotyy(X1,Y1,X2,Y2,

    funcin1, funcin2 )

    Igual que el comando anterior, pero usando cad funcinifpara

    el par(Xi,Yi)

    ESTILOS DE LINEA Y MARCADORES EN LA FUNCIN PLOT

    En la tabla siguiente se pueden observar las distintas posibilidades de estilos de lneas:

    SMBOLO COLOR SMBOLO MARCADORES

    y Yellow . Puntos

    m magenta o Crculos

    c Cyan x Marcas en x

    r Red + Marcas en +

    g Green * Marcas en *

    b Blue s marcas cuadradas

    (square)

    w White d Marcas en diamante

    (diamond)

    k Black ^ Tringulo apuntado arriba

    v Tringulo apuntado abajo

    Smbolo Estilo de lnea > Tringulo apuntado a la

    derecha

    - Lneas continuas < Tringulo apuntado a laizquierda

  • 7/23/2019 tutorialMATLAB_upeu.pdf

    33/90

    33

    MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN

    : Lnea de puntos p Estrella de cinco puntas

    -. Lnea a barra-

    punto

    h Estrella de seis puntas

    -- Lneas a trazos

    E-1. Graficar la funcin )(.)( 5 xsenexfx

    en el dominio de ]2;2[x

    Resolucin

    >> x=-2*pi:0.05:2*pi; %dominio de la funcin

    y=exp(-0.2*x).*sin(x); %funcin real y=f(x)

    plot(x,y) %grafica la curva f

    xlabel('EJE X') %texto en el eje x

    ylabel('EJE Y') %texto en el eje y

    title('Grfica de y=exp(-0.2*x).*sin(x)') %ttulo al grfico

    grid on %enmalla el grfico

    zoom on %acerca o aleja la grfica

    E-2. Graficar la funcin )(tan)( xsenxxf en el dominio de ]2;2[x

    Resolucin

    >> x=-2*pi:0.02:2*pi;

    y=x+sin(tan(x));

    plot(x,y,'r') %incrementa el color rojo

    xlabel('EJE X')

    ylabel('EJE Y')

    title('Grfica de y=x+sin(tan(x))')

    grid on

  • 7/23/2019 tutorialMATLAB_upeu.pdf

    34/90

    34

    MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN

    E-2. Graficar las funciones

    32)(3

    )()(2

    )()(1

    2

    2

    xxxhy

    xsenexgy

    xsenxfy

    x en el dominio de ];[x

    Resolucin

    >> x=-pi:0.02:pi;

    y1=sin(x.^2);

    y2=exp(-x).*sin(x);

    y3=x.^2-2*x-3;

    plot(x,y1,'r',x,y2,'g',x,y3,'k')

    xlabel('EJE X')

    ylabel('EJE Y')grid on

    title('SUPERPOSICIN DE GRFICAS')

    gtext('y1=sin(x.^2)')

    gtext('y2=exp(-x).*sin(x)')

    gtext('y3=x.^2-2*x-3')

    E-3. Graficar las funciones

    32)(3

    )()(2

    )()(1

    2

    2

    xxxhy

    xsenexgy

    xsenxfy

    x en el dominio de ];[x

    Resolucin>> t = 0:pi/20:2*pi;

    plot(t,sin(t),'-.r*')

  • 7/23/2019 tutorialMATLAB_upeu.pdf

    35/90

    35

    MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN

    hold on

    plot(sin(t-pi/2),'--mo')

    plot(sin(t-pi),':bs')

    xlabel('EJE X')

    ylabel('EJE Y')title('CURVAS MARCADAS')

    grid on

    hold off

    E-4. Graficar la funcin)()3()(

    )cos().3()(

    tsentsenty

    ttsentx en el dominio de ];0[x

    Resolucin

    >> ezplot('sin(3*t)*cos(t)','sin(3*t)*sin(t)',[0, pi ])

    xlabel('EJE X')

    ylabel('EJE Y')

    title('CURVA PARAMTRICA')

    grid on

  • 7/23/2019 tutorialMATLAB_upeu.pdf

    36/90

    36

    MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN

    E-5 Graficar las funciones

    64)(;)(

    )(;)(

    )(;.)(

    23

    )(21

    21

    2

    xxxxx

    senx

    x

    exexh

    exgexxf

    senxx

    senx

    xsen

    Lnx

    x

    x

    Resolucin

    >> subplot(3,2,1)

    x=-2:0.05:2;

    y=(x).*exp(-x.^2);

    plot(x,y,'r')

    xlabel('EJE X')

    ylabel('EJE Y')

    title('y=(x).*exp(-x.^2)')

    grid on

    subplot(3,2,2)

    x=-2:0.05:2;

    y=exp(-(log(abs(1./x))).^2);

    plot(x,y,'b')

    xlabel('EJE X')

    ylabel('EJE Y')

    title('y=exp(-(log(abs(1./x))).^2)')

    grid on

    subplot(3,2,3)

    x=-5:0.05:5;

    y=exp(-(1./(x.^2)));

    plot(x,y,'g')xlabel('EJE X')

    ylabel('EJE Y')

    title('y=exp(-(1./(x.^2)))')

    grid on

    subplot(3,2,4)

    x=-2*pi:0.05:2*pi;

    y=exp(sin(x));plot(x,y,'b')

    xlabel('EJE X')

  • 7/23/2019 tutorialMATLAB_upeu.pdf

    37/90

    37

    MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN

    ylabel('EJE Y')

    title('y=exp(sin(x))')

    grid on

    subplot(3,2,5)

    x=-2*pi:0.05:2*pi;y=(sin(x)./(x)).^(sin(x)./(x-sin(x)));

    plot(x,y,'m')

    xlabel('EJE X')

    ylabel('EJE Y')

    title('y=(sin(x)./(x)).^(sin(x)./(x-sin(x)))')

    grid on

    subplot(3,2,6)x=-2:0.05:4;

    y=abs(x.^3-4*x.^2+x+6);

    plot(x,y,'k')

    xlabel('EJE X')

    ylabel('EJE Y')

    title('y=abs(x.^3-4*x.^2+x+6)')

    grid on

  • 7/23/2019 tutorialMATLAB_upeu.pdf

    38/90

    38

    MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN

    E-6. Graficar la funcin 19:1;)(

    )( kk

    tksenxxf

    Resolucin

    >> t=0:0.02:pi;

    y=zeros(10,length(t));x=zeros(size(t));

    for k=1:2:19

    x=x+sin(k*t)/k;

    y((k+1)/2,:)=x;

    end

    plot(y(1:2:9,:)')

    xlabel('EJE X')ylabel('EJE Y')

    title('EDIFICIO DE UNA ONDA CUADRADA: EFECTO GIBBS')

    grid on

    E-7. Graficar la funcin polar )2cos().2sin()(

    Resolucin

    >> t = 0:.01:2*pi;

    polar(t,sin(2*t).*cos(2*t),'b')

    xlabel('EJE POLAR')

    title('CURVA POLAR')

    grid on

  • 7/23/2019 tutorialMATLAB_upeu.pdf

    39/90

    39

    MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN

    E-8. Graficar la funcin compleja 4 4 1)( zzf

    Resolucin

    >> colormap(hsv(64));

    z=cplxgrid(30);

    cplxmap(z,(z.^4-1).^(1/4));

    xlabel('EJE X')

    ylabel('EJE Y')

    zlabel('EJE Z')

    grid on

    title('GRFICA DE LA FUNCIN f(z)=(z.^4-1).^(1/4)')

    E-9. Graficar la funcin compleja 5)( zzf

    Resolucin

    >> colormap(hsv(64));

    z=cplxgrid(30);cplxroot(5)

    xlabel('EJE X')

    ylabel('EJE Y')

    grid on

    title('GRFICA DE LA FUNCIN f(z)=z^(1/5)')

  • 7/23/2019 tutorialMATLAB_upeu.pdf

    40/90

    40

    MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN

    E-9. Graficar la funcin compleja ))cos(()( zzsenzf

    Resolucin>> colormap(hsv(64));

    z=cplxgrid(30);

    cplxmap(z,sqrt(sin(z-cos(z))));

    xlabel('EJE X')

    ylabel('EJE Y')

    grid on

    title('GRFICA DE LA FUNCIN f(z)=sqrt(sin(z-cos(z)))')

  • 7/23/2019 tutorialMATLAB_upeu.pdf

    41/90

    41

    MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN

    PLOTEOS EN 3D

    En el cuadro siguiente se presentan los comandos de MATLAB ms comunes en la

    representacin de grficos de lneas 3-D.

    plot3(X,Y,Z) Dibuja el conjunto de puntos (X,Y,Z), donde X,Y y Z son vectoresfila. X, Y, Z pueden ser coordenadas paramtricas o matrices de la

    misma dimensin, en cuyo caso se hace una grfica por cada

    tripleta de filas y sobre los mismos ejes. Para valores complejos de

    X, Y y Z se ignoran las partes imaginarias.

    plot3(X,Y,Z,S) Grfica de plot(X,Y,Z) con las opciones definidas en S.

    Usualmente S se compone de dos dgitos entre comillas simples,

    el primero de los cuales fija al color de la lnea del grafico y elsegundo el carcter a usar en el graficado. Los valores posibles de

    colores y caracteres son, respectivamente, los siguientes:

    y(amarillo), m(magenta), c(cyan), r(rojo), g(verde), b(azul),

    w(blanco), k(negro), .(puntos), o(crculos), x(x-marcas) , +(signo

    ms), -(slido), *(estrellas), :(dos puntos), -.(guiones y puntos) y -

    (semislido).

    plot3(X1,Y1,Z1,S1,

    X2,Y2,Z2,S2,

    X3,Y3,Z3,S3, )

    Combina, sobre los mismos ejes, los grficos definidos para las

    tripletas (Xi,Yi,Zi,Si). Se trata de una forma de representar varias

    funciones sobre el mismo grfico.

    fill3(X,Y,Z,C) Dibuja el polgono compacto cuyos vrtices son las tripletas de

    componentes (Xi,Yi,Zi) de los vectores columna X, Y y Z, que

    contiene los colores Ci de cada punto (Xi,Yi,Zi). Los valores de Ci

    pueden ser y, m, c, r, g, b, w, k. cuyos significados ya conocemos.

    Si C es un solo caracter, se pintarn todos los puntos del polgono

    de color correspondiente al carater.

    fill3(X1,Y1,Z1,C1,

    X2,Y2,Z2,C2, )

    Dibuja el polgono compacto cuyos vrtices vienen dados por los

    puntos (Xi,Yi,Zi,Ci)

    [X,Y]=meshgrid(x,y

    )

    Transforma el campo de definicin dado de las variables x e y de

    la funcin a representar z=f(x,y) en argumentos matriciales

    utilizables por los comandos surf y mesh para obtener grficos de

    superficie y malla, respectivamente

    surf(X,Y,Z,C) Representa la superficie explcita z=f(x,y) o la paramtrica x=x(t,u),

    y=y(t,u), z=z(t,u), realizando el dibujo con los colores especficos

  • 7/23/2019 tutorialMATLAB_upeu.pdf

    42/90

    42

    MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN

    en C. El argumento C se puede ignorar.

    surfc(X,Y,Z,C) Representa la superficie explcita z=f(x,y) o la paramtrica x=x(t,u),

    y=y(t,u), z=z(t,u), junto con el grfico de contorno

    correspondiente(curvas de nivel proyectadas sobre el plano XY).

    surfl(X,Y,Z) Representa la superficie explcita z=f(x;y) o la paramtrica x=x(t,u),y=y(t,u), z=z(t,u), con el dibujo con sombreado.

    mesh(X,Y,Z,C) Representa la superficie explicita z=f(x,y) o la paramtrica x=x(t,u),

    y=y(t,u), z=z(t,u), dibujando las lneas de la rejilla que componen la

    malla con los colores especificadas en C(opcional).

    meshz(X,Y,Z,C) Representa la superficie explicita z=f(x,y) o la paramtrica x=x(t,u),

    y=y(t,u), z=z(t,u), con una especie de cortina o teln en la parte

    inferiormeshc(X,Y,Z,C) Representa la superficie explicita z=f(x,y) o la paramtrica x=x(t,u),

    y=y(t,u), z=z(t,u), junto con el grfico de contorno

    correspondiente(curva de nivel proyectadas sobre el plano XY )

    contour(Z) Dibuja el grfico de contorno (curvas de nivel) para la matriz Z. El

    nmero de lneas de contorno a utilizar se elige automticamente.

    contour(Z,n) Dibuja el grfico de contorno (curvas de nivel) para la matriz Z

    usando n lneas de contorno.contour(x,y,Z,n) Dibuja el grfico de contorno (curvas de nivel) para la matriz Z

    usando en los ejes X e Y el escalado definido por los vectores x e

    y (n lneas de contorno).

    contour3(Z)

    contour3(Z,n) y

    contour3(x,y,Z,n)

    Dibujan los grficos de contorno en 3 dimensiones.

    contourf() Dibuja un grfico de contorno y rellena las reas entre las

    isolneas.

    pcolor(X,Y,Z) Dibuja un grfico de contorno (curvas de nivel ) para la matriz

    (X,Y,Z) utilizando una representacin basada en densidades de

    colores. Suele denominarse grfico de densidad

    comet3(z)

    comet3(x,y,z)

    comet3(x,y,z,p)

    Grfico cometa relativo al vector z

    Grfico de cometa paramtrico x(t), y(t) , z(t)

    Grfico de cometa con cuerpo de longitud p*length(y)

    [X,Y,Z]=cylinder

    [X,Y,Z]=cylinder(r)

    Da las coordenadas del cilindro unidad

    Da las coordenadas del cilindro generado por la curva r

  • 7/23/2019 tutorialMATLAB_upeu.pdf

    43/90

    43

    MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN

    [X,Y,Z]=cylinder(r,n

    )

    cylinder()

    Da las coordenadas del cilindro generado por la curva r con n

    puntos en la circunferencia seccin horizontal alineado con el eje Z

    (n=20 por defecto)

    Grafica los cilindros anteriores

    sphere Grafica la esfera unidad usando 20x20 carassphere(n) Grafica la esfera unidad usando nxn caras

    [X,Y,Z]=sphere(n) Da las coordenadas de la esfera en tres matrices (n+1)x(n+1)

    OPCIONES DE MANEJO DE GRFICOS 3D

    colormap(M) Sita la matriz M como el mapa corriente de colores. M debe

    tener tres columnas y contener valores slo entre 0 y 1.

    Tambin puede ser una matriz cuyas filas sean vectores RGBdel tipo [r g b]. Existen en MATLAB matrices M ya definidas,

    que son las siguientes: bone(p), contrast(p), cool(p),

    copper(p), flag(p), gray(p), hsv(p), hot(p), jet(p), pink(p),

    prism(p) y white(p). Todas las matrices tienen 3 columnas y p

    filas. Por ejemplo, la sintaxis colormap(hot(8)) sita la matriz

    hot(8) como el mapa corriente de colores(sistema completo de

    colores de la figura actual).

    E-1) Grfica de una funcin paramtrica:

    ttz

    tty

    tsentx

    )(

    )cos()(

    )()(

    Resolucin

    %PLOTEO1 - Comando plot3

    t=0:pi/50:10*pi;

    x=sin(t);y=cos(t);

    z=t;

    plot3(x,y,z,'k');

    grid on

    axis square

    title('Hlice paramtrica x(t)=sin(t),y(t)=cos(t),z(t)=t');

    xlabel('EJE DE ABSCISAS X');

    ylabel('EJE DE ORDENADAS Y');

    zlabel('EJE Z');

  • 7/23/2019 tutorialMATLAB_upeu.pdf

    44/90

    44

    MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN

    E-2) Grfica de la funcin )(cos)(),( 222 xyyxsenyxf

    Resolucin

    %PLOTEO2 - Comando mesh

    xa=-1/2*pi:.1:1/2*pi;

    xb=-1/2*pi:.1:1/2*pi;

    [x,y] = meshgrid(xa,xb);

    z = sin(x.^2+y.^2)-(cos(x.*y)).^2;

    mesh(x,y,z)

    colormap(cool)

    grid on

    title('z = sin(x.^2+y.^2)-(cos(x.*y)).^2');

    xlabel('EJE X');

    ylabel('EJE Y');

    zlabel('EJE Z');

  • 7/23/2019 tutorialMATLAB_upeu.pdf

    45/90

    45

    MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN

    E-3) Grfica de la funcin )(cos)(),( 222 xyyxsenyxf

    Resolucin

    %PLOTEO3 - Comando surf

    xa=-1/2*pi:.1:1/2*pi;

    xb=-1/2*pi:.1:1/2*pi;[x,y]=meshgrid(xa,xb);

    z=sin(x.^2+y.^2)-(cos(x.*y)).^2;

    surf(x,y,z)

    colormap(hsv)

    grid on

    title('z = sin(x.^2+y.^2)-(cos(x.*y)).^2');

    xlabel('EJE X');ylabel('EJE Y');

    zlabel('EJE Z');

    E-4) Grfica de la funcin )(cos)(),( 222 xyyxsenyxf

    Resolucin

    %PLOTEO4 - Comando surfc

    xa=-1/2*pi:.1:1/2*pi;

    xb=-1/2*pi:.1:1/2*pi;

    [x,y]=meshgrid(xa,xb);

    z=sin(x.^2+y.^2)-(cos(x.*y)).^2;

    surfc(x,y,z)

    colormap(gray)

    grid ontitle('z=sin(x.^2+y.^2)-(cos(x.*y)).^2');

    xlabel('EJE X');

  • 7/23/2019 tutorialMATLAB_upeu.pdf

    46/90

    46

    MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN

    ylabel('EJE Y');

    zlabel('EJE Z');

    E-5) Grfica de la funcin )(cos)(),( 222

    xyyxsenyxf Resolucin

    %PLOTEO5 - Comando contour

    xa=-1/2*pi:.1:1/2*pi;

    ya=-1/2*pi:.1:1/2*pi;

    [x,y]=meshgrid(xa,ya);

    z=sin(x.^2+y.^2)-(cos(x.*y)).^2;

    contour(x,y,z,40)colormap(cool)

    grid on

    title(' z=sin(x.^2+y.^2)-(cos(x.*y)).^2');

    xlabel('EJE X');

    ylabel('EJE Y');

    zlabel('EJE Z');

  • 7/23/2019 tutorialMATLAB_upeu.pdf

    47/90

    47

    MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN

    E-6) Grfica de la funcin )(cos)(),( 222 xyyxsenyxf

    Resolucin

    %PLOTEO6 - Comando contour3

    xa=-1/2*pi:.1:1/2*pi;

    ya=-1/2*pi:.1:1/2*pi;[x,y] = meshgrid(xa,ya);

    z=sin(x.^2+y.^2)-(cos(x.*y)).^2;

    contour3(x,y,z,40)

    colormap(cool)

    grid on

    title(' z=sin(x.^2+y.^2)-(cos(x.*y)).^2');

    xlabel('EJE X');ylabel('EJE Y');

    zlabel('EJE Z');

    E-7) Grfica de la funcin )(cos)(),( 222 xyyxsenyxf

    Resolucin

    %PLOTEO7 - Comando waterfall

    xa=-1/2*pi:.1:1/2*pi;

    ya=-1/2*pi:.1:1/2*pi;

    [x,y] = meshgrid(xa,ya);

    z=sin(x.^2+y.^2)-(cos(x.*y)).^2

    waterfall(x,y,z)

    colormap(cool)

    grid on

    title(' z=sin(x.^2+y.^2)-(cos(x.*y)).^2');

    xlabel('EJE X');

    ylabel('EJE Y');

  • 7/23/2019 tutorialMATLAB_upeu.pdf

    48/90

    48

    MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN

    zlabel('EJE Z');

    E-8) Grfica de la funcin )(cos)(),( 222 xyyxsenyxf

    Resolucin

    %PLOTEO8 - Comando meshz

    xa=-1/2*pi:.1:1/2*pi;

    ya=-1/2*pi:.1:1/2*pi;

    [x,y] = meshgrid(xa,ya);

    z=sin(x.^2+y.^2)-(cos(x.*y)).^2;

    meshz(x,y,z)

    colormap(cool)

    grid on

    title(' z=sin(x.^2+y.^2)-(cos(x.*y)).^2');

    xlabel('EJE X');

    ylabel('EJE Y');

    zlabel('EJE Z');

    E-9) Grfica de la funcin22

    22

    ),(yx

    yxsenyxf

    Resolucin

    %PLOTEO9 - Comando surfl

    xa=-7.5:.1:7.5;

    ya=-7.5:.1:7.5;

  • 7/23/2019 tutorialMATLAB_upeu.pdf

    49/90

    49

    MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN

    [x,y] = meshgrid(xa,ya);

    z=sin(sqrt(x.^2+y.^2))./(sqrt(x.^2+y.^2));

    surfl(x,y,z)

    colormap(hot)

    grid ontitle('z=sin(sqrt(x.^2+y.^2))./(sqrt(x.^2+y.^2))');

    xlabel('EJE X');

    ylabel('EJE Y');

    zlabel('EJE Z');

    E-10) Grfica del contorno de las funciones f1 y f2, para resolver

    0),(2

    0),(1

    yxf

    yxf. Dados

    xy

    yxy

    eyxyxf

    eexyxf

    5.0),(2

    3.),(1

    22

    )8.0( 2

    Resolucin

    -------------------------------------------------------------------------------

    %crear una ventana y guardarlo como f1.m

    function f=f1(x,y)

    f=x.*exp(x.*y+0.8)+exp(y.^2)-3;-------------------------------------------------------------------------------

    %crear una ventana y guardarlo como f2.m

    function f=f2(x,y)

    f=x.^2-y.^2-0.5*exp(x.*y);

    -------------------------------------------------------------------------------

    %crear una ventana y guardarlo como contorno1.m

    %Grfica del contorno de f1 y f2clear, clg ,clf, hold off

    x1=-3:0.01:4;

    y1=-3:0.01:4;

    [x,y]=meshgrid(x1,y1);

    g1=f1(x,y);

    g2=f2(x,y);

    contour(x1,y1,g1,[0.00, 0.00],'k')hold on

    contour(x1,y1,g2,[0.00, 0.00],'b')

  • 7/23/2019 tutorialMATLAB_upeu.pdf

    50/90

    50

    MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN

    xlabel('EJE DE ABSCISAS')

    ylabel('EJE DE ORDENADAS')

    grid on

    zoom on

    title('f1=x*exp(x*y+0.8)+exp(y^2)-3;f2=x^2-y^2-0.5*exp(x*y)')

    E-11) Grfica del contorno de las funciones f1 y f2, para resolver0),(2

    0),(1

    yxf

    yxf. Dados

    )cos(2),(2

    )(),(1

    2 yxyxf

    xysenyxf

    Resolucin

    -------------------------------------------------------------------------------

    %crear una ventana y guardarlo como f1.m

    function f=f1(x,y)

    f=sin(x.*y);

    ------------------------------------------------------------------------------

    %crear una ventana y guardarlo como f2.m

    function f=f2(x,y)

    f=x.^2+2*cos(y);

    ------------------------------------------------------------------------------

    %crear una ventana y guardarlo como contorno2.m

    clear, clg ,clf, hold off

    x1=-2*pi:0.01:2*pi;

    y1=-2*pi:0.01:2*pi;

    [x,y]=meshgrid(x1,y1);

    g1=f1(x,y);g2=f2(x,y);

    contour(x1,y1,g1,[0.00, 0.00],'k')

  • 7/23/2019 tutorialMATLAB_upeu.pdf

    51/90

    51

    MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN

    hold on

    contour(x1,y1,g2,[0.00, 0.00],'b')

    xlabel('EJE DE ABSCISAS')

    ylabel('EJE DE ORDENADAS')

    grid onzoom on

    title('f1=sin(x.*y);f2=x.^2+2*cos(y)')

    E-12) Interceptar las superficies2

    22

    4 yz

    yxz

    Resolucin

    [x y]=meshgrid(-2:.1:2)

    z=x.^2+y.^2;

    mesh(x,y,z);

    hold on;

    z=4-y.^2;

    mesh(x,y,z);

    E-13) Interceptar las superficies

    )(

    4 2

    2

    xsenz

    yz

    xz

    Resolucin

    >>[x y]=meshgrid(-2:.1:2);

    z=x.^2;

    mesh(x,y,z);

  • 7/23/2019 tutorialMATLAB_upeu.pdf

    52/90

    52

    MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN

    hold on;

    z=4-y.^2;

    mesh(x,y,z);

    hold on;

    z=sin(x);mesh(x,y,z);

    xlabel('EJE X')

    ylabel('EJE Y')

    zlabel('EJE Z')

    title('Interseccin de superficies')

    E-14) Graficar :)(

    42

    2

    2

    xsenyzyz

    xz

    ; z=peaks

    222222 )1(

    3

    153

    5

    )1(2 )(10)1(3 yxyxxyx eeyxexz (funcin peaks)

    Resolucin

    >> subplot(2,2,1)

    [x y]=meshgrid(-2:.1:2);

    z=x.^2;

    mesh(x,y,z);

    hold on;

    z=4-y.^2;

    mesh(x,y,z);

    xlabel('EJE X')

    ylabel('EJE Y')

    zlabel('EJE Z')

    title('GRFICA DE SUPERFICIES')grid on

    zoom on

    subplot(2,2,2)

    [x y]=meshgrid(-2:.1:2);

    z= 3*(1-x).^2.*exp(-(x.^2) - (y+1).^2) ...

    - 10*(x/5 - x.^3 - y.^5).*exp(-x.^2-y.^2) ...

    - 1/3*exp(-(x+1).^2 - y.^2);mesh(x,y,z);

    xlabel('EJE X')

  • 7/23/2019 tutorialMATLAB_upeu.pdf

    53/90

    53

    MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN

    ylabel('EJE Y')

    zlabel('EJE Z')

    title('GRFICA DE SUPERFICIES')

    grid on

    zoom onsubplot(2,2,3)

    [x y]=meshgrid(-2:.1:2);

    z=x.^2;

    surf(x,y,z);

    hold on

    z=4-y.^2;

    mesh(x,y,z);hold on

    z=y.^2+sin(x);

    mesh(x,y,z);

    xlabel('EJE X')

    ylabel('EJE Y')

    zlabel('EJE Z')

    title('GRFICA DE SUPERFICIES')

    grid on

    zoom on

    subplot(2,2,4)

    [x y]=meshgrid(-3:.5:3,-3:.1:3);

    z=peaks(x,y);

    ribbon(y,z);

    mesh(x,y,z);

    xlabel('EJE X')

    ylabel('EJE Y')

    zlabel('EJE Z')

    title('GRFICA DE SUPERFICIES')

    grid on

    zoom on

  • 7/23/2019 tutorialMATLAB_upeu.pdf

    54/90

    54

    MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN

    E-15) Realizar el contorno de la superficie222222 )1(

    3

    153

    5

    )1(2)(10)1(3

    yxyxxyx eeyxexz

    Resolucinz=['3*(1-x).^2.*exp(-(x.^2) - (y+1).^2)', ...

    '- 10*(x/5 - x.^3 - y.^5).*exp(-x.^2-y.^2)', ...

    '- 1/3*exp(-(x+1).^2 - y.^2)'];

    ezcontour(z,[-4,4],45)

    grid on

    xlabel('EJE X')

    ylabel('EJEY')title('Contornos')

  • 7/23/2019 tutorialMATLAB_upeu.pdf

    55/90

    55

    MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN

    E-16) Realizar el contorno rellenado de la superficie222222 )1(

    3

    153

    5

    )1(2 )(10)1(3 yxyxxyx eeyxexz

    Resolucin

    z=[ ' 3*(1-x).^2.*exp(-(x.^2) - (y+1).^2)', ...

    '- 10*(x/5 - x.^3 - y.^5).*exp(-x.^2-y.^2)', ...

    '- 1/3*exp(-(x+1).^2 - y.^2) ' ];

    ezcontourf(z,[-4,4],45)

    grid on

    xlabel('EJE X')

    ylabel('EJEY')

    title('Contorno rellenado')

    E-17) Realizar la interseccin de los contornos de las superficies

    22

    22

    22

    1);(

    );(

    yx

    yyxg

    yx

    yxsenyxf

    Resolucinf=sin(sqrt(x.^2+y.^2))./(sqrt(x.^2+y.^2));

    contour(f,5,'r')

    hold on

    g=y./(1+x.^2+y.^2);

    contour(g,6,'g')

    grid on

    xlabel('EJE X')ylabel('EJEY')

    title('Interseccin de contornos')

  • 7/23/2019 tutorialMATLAB_upeu.pdf

    56/90

    56

    MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN

    E-18) Grfico de la esfera

    Resolucin>>sphere

    axis equal

    xlabel('EJE X')

    ylabel('EJE y')

    zlabel('EJE Z')

    title('La Esfera')

  • 7/23/2019 tutorialMATLAB_upeu.pdf

    57/90

    57

    MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN

    LA TEORA DE BEZIER (INTRODUCCIN)

    La curva de BEZIER fue introducida en los aos 1970 de manera independiente por P. Bezier yP. Casteljou como parte integrante de un sistema de diseo por ordenador para el diseo enlas empresas automovilsticas Cytren y Renault. Hasta el ao 1972 no fue descubierta larelacin entre la curva de Bezier y los polinomios de Bernstein. Este desarrollo permiti realizar

    el primer software para el diseo de objetos mediante superficies de Bezier.La curva de Bezier de orden n con (n+1) puntos de control se definen por:

    )(

    )(

    )(

    )(

    )(

    )(2

    1

    0

    210

    0210

    tB

    tB

    tB

    tB

    yyyy

    xxxx

    ty

    tx

    n

    n

    n

    n

    n

    n

    (1)

    donde: )(

    0

    )1(.)( ini

    n

    i

    n

    i tti

    ntB son las bases de Bernstein.

    1. Hallando la curva de Bezier de orden n=2 para tres puntos de control

    )(

    )(

    )(

    )(

    )(

    2

    2

    2

    1

    2

    0

    210

    210

    tB

    tB

    tB

    yyy

    xxx

    ty

    tx (2)

    Luego calculamos las bases de Bernstein

    20202

    0 )1()1(0

    2)( ttttB ; )1(2)1(

    1

    2)( 1212

    1 tttttB ; 222222 )1(

    2

    2)( ttttB

    Reemplazando en (2) tenemos:

    2

    2

    210

    210)1(2

    )1(

    )(

    )(

    t

    tt

    t

    yyy

    xxx

    ty

    tx

    Efectuando la multiplicacin se obtiene:

    2

    21

    2

    0

    2

    21

    2

    0

    .)1(2.)1()(

    .)1(2.)1()(

    tyttytyty

    txttxtxtx (Curva de Bezier de orden 2)

    2. Hallando la curva de Bezier de orden n=3 para cuatro puntos de control

    )(

    )(

    )(

    )(

    )(

    )(

    3

    3

    3

    2

    3

    1

    3

    0

    3210

    3210

    tB

    tB

    tB

    tB

    yyyy

    xxxx

    ty

    tx (3)

    Luego calculamos las bases de Bernstein

    30303

    0 )1()1(0

    3)( ttttB 213131 )1(3)1(

    1

    3)( tttttB

    )1(3)1(23)(

    22323

    2 tttttB 33333

    3 )1(33)( ttttB

    Reemplazando en (3) tenemos:

  • 7/23/2019 tutorialMATLAB_upeu.pdf

    58/90

    58

    MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN

    3

    2

    2

    3

    3210

    3210

    )1(3

    )1.(3

    )1(

    )(

    )(

    t

    tt

    tt

    t

    yyyy

    xxxx

    ty

    tx

    Efectuando la multiplicacin se obtiene:

    3

    3

    2

    2

    2

    1

    3

    0

    33

    22

    21

    30

    )1(3.)1(3.)1()(

    )1(3.)1(3.)1()(

    tyttyttytyty

    txttxttxtxtx (Curva de Bezier de orden 3)

    3. Hallando la curva de Bezier de orden n=4 para cinco puntos de control

    )(

    )(

    )(

    )(

    )(

    )(

    )(

    4

    4

    4

    3

    4

    2

    4

    1

    4

    0

    43210

    43210

    tB

    tB

    tB

    tB

    tB

    yyyyy

    xxxxx

    ty

    tx (4)

    Luego calculamos las bases de Bernstein

    40404

    0 )1()1(0

    4)( ttttB 314141 )1(4)1(

    1

    4)( tttttB

    222424

    2 )1(6)1(2

    4)( tttttB )1(4)1(

    3

    4)( 334343 tttttB

    44444

    4 )1(4

    4)( ttttB

    Reemplazando en (4) tenemos:

    4

    3

    22

    3

    4

    43210

    43210

    )1(4

    )1(6

    )1(4

    )1(

    )(

    )(

    t

    tt

    tt

    tt

    t

    yyyyy

    xxxxx

    ty

    tx

    Efectuando la multiplicacin de las matrices se obtiene:

    4

    4

    3

    3

    22

    2

    3

    1

    4

    0

    4

    4

    3

    3

    22

    2

    3

    1

    4

    0

    )1(4)1(6.)1(4.)1()(

    )1(4)1(6.)1(4.)1()(

    tyttyttyttytyty

    txttxttxttxtxtx (Curva de Bezier de orden 4)

    4. Hallando la curva de Bezier de orden n=5 para seis puntos de control

    )(

    )(

    )(

    )(

    )(

    )(

    )(

    )(

    5

    5

    5

    4

    5

    3

    5

    2

    5

    1

    5

    0

    543210

    543210

    tB

    tB

    tB

    tB

    tB

    tB

    yyyyyy

    xxxxxx

    ty

    tx (5)

    Luego calculamos las bases de Bernstein50505

    0 )1()1(0

    5)( ttttB 415151 )1(5)1(

    1

    5)( tttttB

  • 7/23/2019 tutorialMATLAB_upeu.pdf

    59/90

    59

    MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN

    322525

    2 )1(10)1(2

    5)( tttttB 2335353 )1(10)1(

    3

    5)( tttttB

    )1(5)1(4

    5)( 44545

    4 tttttB 555555 )1(

    5

    5)( ttttB

    Reemplazando en (4) tenemos:

    5

    4

    23

    32

    4

    5

    543210

    543210

    )1(5

    )1(10

    )1(10

    )1(5

    )1(

    )(

    )(

    t

    tt

    tt

    tt

    tt

    t

    yyyyyy

    xxxxxx

    ty

    tx

    Efectuando la multiplicacin de las matrices se obtiene:

    5

    5

    4

    4

    23

    3

    32

    2

    4

    1

    5

    0

    5

    5

    4

    4

    23

    3

    32

    2

    4

    1

    5

    0

    )1(5.)1(10)1(10.)1(5.)1()(

    )1(5.)1(10)1(10.)1(5.)1()(

    tyttyttyttyttytyty

    txttxttxttxttxtxtx

    (Curva de Bezier de orden 5)

    5. En forma anloga la curva de Bezier de orden n=6 y n=7 para siete y ocho puntos decontrol respectivamente

    a) Para n=6

    6

    6

    5

    5

    24

    4

    33

    3

    42

    2

    5

    1

    6

    0

    6

    6

    5

    5

    24

    4

    33

    3

    42

    2

    5

    1

    6

    0

    )1(6.)1(15.)1(20.)1(15.)1(6.)1.()(

    )1(6.)1(15.)1(20.)1(15.)1(6.)1.()(

    tyttyttyttyttyttytyty

    txttxttxttxttxttxtxtx

    b) Para n=7

    7

    7

    6

    6

    25

    5

    34

    4

    43

    3

    52

    2

    6

    1

    7

    0

    7

    7

    6

    6

    25

    5

    34

    4

    43

    3

    52

    2

    6

    1

    7

    0

    )1(7.

    )1(21.)1(35.)1(35.)1(21.)1(7.)1.()(

    )1(7.

    )1(21.)1(35.)1(35.)1(21.)1(7.)1.()(

    tytty

    ttyttyttyttyttytytx

    txttx

    ttxttxttxttxttxtxtx

    FORMATOS Y EJEMPLOS DE LA CURVA DE BEZIER

    %BEZIER DE ORDEN 2

    t=0:0.01:1;p=(1-t);x1=(x0)*p.^2+(x1)*2*t.*p+(x2)*t.^2;y1=(y0)*p.^2+(y1)*2*t.*p+(y2)*t.^2;plot(x1,y1)grid on%Ejemplo Dados (4;7),(8;10),(10;5)t=0:0.01:1;p=(1-t);x1=(4)*p.^2+(8)*2*t.*p+(10)*t.^2;y1=(7)*p.^2+(10)*2*t.*p+(5)*t.^2;plot(x1,y1)grid ontitle('BEZIER DE ORDEN2')

  • 7/23/2019 tutorialMATLAB_upeu.pdf

    60/90

    60

    MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN

    hold onx=[4,8,10]y=[7,10,5]plot(x,y,'--r')

    %BEZIER DE ORDEN 3

    t=0:0.01:1;p=(1-t);x1=(x0)*p.^3+(x1)*3*t.*p.^2+(x2)*3*t.^2.*p+(x3)*t.^3;y1=(y0)*p.^3+(y1)*3*t.*p.^2+(y2)*3*t.^2.*p+(y3)*t.^3;plot(x1,y1)grid on%Ejemplo Dado (8;7),(14;10),(11;14), (13;20)t=0:0.01:1;p=(1-t);x1=(8)*p.^3+(14)*3*t.*p.^2+(11)*3*t.^2.*p+(13)*t.^3;y1=(7)*p.^3+(10)*3*t.*p.^2+(14)*3*t.^2.*p+(20)*t.^3;

    plot(x1,y1)grid ontitle('BEZIER DE ORDEN3')hold onx=[8,14,11,13]y=[7,10,14,20]plot(x,y,'--r')

    %BEZIER DE ORDEN 4t=0:0.01:1;p=(1-t);x1=(xo)*p.^4+(x1)*4*t.*p.^3+(x2)*6*t.^2.*p.^2.*t+(x3)*4*t.^3.*p+(x4)*t.^4;y1=(yo)*p.^4+(y1)*4*t.*p.^3+(y2)*6*t.^2.*p.^2.*t+(y3)*4*t.^3.*p+(y4)*t.^4;plot(x1,y1)grid on%Ejemplo Dado (15;21),(11;22),(7;27), (14;26),(17,23)t=0:0.01:1;p=(1-t);x1=(15)*p.^4+(11)*4*t.*p.^3+(7)*6*t.^2.*p.^2.*t+(14)*4*t.^3.*p+(17)*t.^4;y1=(21)*p.^4+(22)*4*t.*p.^3+(27)*6*t.^2.*p.^2.*t+(26)*4*t.^3.*p+(23)*t.^4;plot(x1,y1)grid ontitle('BEZIER DE ORDEN4')hold onx=[15,11,7,14,17]y=[21,22,27,26,23]plot(x,y,'--r')

  • 7/23/2019 tutorialMATLAB_upeu.pdf

    61/90

    61

    MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN

    %BEZIER DE ORDEN 5t=0:0.01:1;p=(1-t);x1=(xo)*p.^5+(x1)*5*t.*p.^4+(x2)*10*t.^2.*p.^3+(x3)*10*t.^3.*p.^2+(x4)*5*t.^4.*p+(x5)*t.^5;y1=(yo)*p.^5+(y1)*5*t.*p.^4+(y2)*10*t.^2.*p.^3+(y3)*10*t.^3.*p.^2+(y4)*5*t.^4.*p+(y5)*t.^5;

    plot(x1,y1)grid on

    %Ejemplo Dado (17;20),(20;23),(21;25), (23;25),(25,23),(28,20)t=0:0.01:1;p=(1-t);x1=(17)*p.^5+(20)*5*t.*p.^4+(21)*10*t.^2.*p.^3+(23)*10*t.^3.*p.^2+(25)*5*t.^4.*p+(28)*t.^5;y1=(20)*p.^5+(23)*5*t.*p.^4+(25)*10*t.^2.*p.^3+(25)*10*t.^3.*p.^2+(23)*5*t.^4.*p+(20)*t.^5;plot(x1,y1)grid on

    title('BEZIER DE ORDEN5')hold onx=[17,20,21,23,25,28]y=[20,23,25,25,23,20]plot(x,y,'--r')

    %BEZIER DE ORDEN 6t=0:0.01:1;p=(1-t);x1=(xo)*p.^6+(x1)*6*t.*p.^5+(x2)*15*t.^2.*p.^4+(x3)*20*t.^3.*p.^3+(x4)*15*t.^4.*p.^2+(x5)*6*t.^5.*p+(x6)*t.^6;y1=(yo)*p.^6+(y1)*6*t.*p.^5+(y2)*15*t.^2.*p.^4+(y3)*20*t.^3.*p.^3+(y4)*15*t.^4.*p.^2+(y5)*6*t.^5.*p+(y6)*t.^6;plot(x1,y1)grid on%Ejemplo Dado (18;15),(20;16),(19;14), (18;12),(14;14),(18;17),(20;19)t=0:0.01:1;p=(1-t);x1=(18)*p.^6+(20)*6*t.*p.^5+(19)*15*t.^2.*p.^4+(18)*20*t.^3.*p.^3+(14)*15*t.^4.*p.^2+(18)*6*t.^5.*p+(20)*t.^6;y1=(15)*p.^6+(16)*6*t.*p.^5+(14)*15*t.^2.*p.^4+(12)*20*t.^3.*p.^3+(14)*15*t.^4.*p.^2+(17)*6*t.^5.*p+(19)*t.^6;plot(x1,y1)grid ontitle('BEZIER DE ORDEN6')hold onx=[18,20,19,18,14,18,20]y=[15,16,14,12,14,17,19]plot(x,y,'--r')

    %BEZIER DE ORDEN 7t=0:0.01:1;p=(1-t);

  • 7/23/2019 tutorialMATLAB_upeu.pdf

    62/90

    62

    MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN

    x1=(xo)*p.^7+(x1)*7*t.*p.^6+(x2)*21*t.^2.*p.^5+(x3)*35*t.^3.*p.^4+(x4)*35*t.^4.*p.^3+(x5)*21*t.^5.*p.^2+ (x6)*7*t.^6.*p+(x7)*t.^7;y1=(yo)*p.^7+(y1)*7*t.*p.^6+(y2)*21*t.^2.*p.^5+(y3)*35*t.^3.*p.^4+(y4)*35*t.^4.*p.^3+(y5)*21*t.^5.*p.^2+ (y6)*7*t.^6.*p+(y7)*t.^7;plot(x1,y1)grid on

    %Ejemplo Dado (23;12),(26;15),(28;10), (26;8),(23;8),(24;10),(32;16),(26;17)t=0:0.01:1;p=(1-t);x1=(23)*p.^7+(26)*7*t.*p.^6+(28)*21*t.^2.*p.^5+(26)*35*t.^3.*p.^4+(23)*35*t.^4.*p.^3+(24)*21*t.^5.*p.^2+ (32)*7*t.^6.*p+(26)*t.^7;y1=(12)*p.^7+(15)*7*t.*p.^6+(10)*21*t.^2.*p.^5+(8)*35*t.^3.*p.^4+(8)*35*t.^4.*p.^3+(10)*21*t.^5.*p.^2+ (16)*7*t.^6.*p+(17)*t.^7;plot(x1,y1)grid ontitle('BEZIER DE ORDEN7')hold on

    x=[23,26,28,26,23,24,32,26]y=[12,15,10,8,8,10,16,17]plot(x,y,'--r')

    NOTA:1) LA LINEA AZUL NTIDA ES LA CURVA DE BEZIER2) LA LINEA PUNTEADA ROJA DETERMINA LOS PUNTOS DE CONTROL PARA LA

    CURVA

  • 7/23/2019 tutorialMATLAB_upeu.pdf

    63/90

    63

    MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN

    ALGUNOS EJEMPLOS DE DISEOS GEOMTRICOS

  • 7/23/2019 tutorialMATLAB_upeu.pdf

    64/90

    64

    MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN

  • 7/23/2019 tutorialMATLAB_upeu.pdf

    65/90

    65

    MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN

    UN EJEMPLO DE PROGRAMA PARA CONSTRUIR LA GRFICA DEL CONEJOt=0:0.01:1;p=(1-t);x= 12.5.*p.^2+ 19.3.*2.*t.*p+ 21.8.*t.^2;y= 2.*p.^2+ 2.3.*2.*t.*p+5.9.*t.^2;

    plot(x,y)grid onx1= 21.8.*p.^2+ 22.5.*2.*t.*p+ 18.6.*t.^2;y1= 5.9.*p.^2+ 9.5.*2.*t.*p+ 11.6.*t.^2;hold onplot(x1,y1)x2=18.6.*p+16.2.*t;y2=11.6*p+16.2*t;plot(x2,y2)x3= 16.2.*p.^3+ 17.5.*3.*t.*p.^2+ 13.5.*3.*t.^2.*p+ 13.5.*t.^3;y3= 16.2.*p.^3+ 22.5.*3.*t.*p.^2+ 27.5.*3.*t.^2.*p+ 31.3.*t.^3;plot(x3,y3)x4= 13.5.*p.^2+ 12.2.*2.*t.*p+ 14.6.*t.^2;y4= 31.3.*p.^2+ 24.5.*2.*t.*p+ 15.6.*t.^2;plot(x4,y4)x5= 11.3.*p.^3+ 12.5.*3.*t.*p.^2+ 8.5.*3.*t.^2.*p+ 8.3.*t.^3;y5= 16.*p.^3+ 22.5.*3.*t.*p.^2+ 27.5.*3.*t.^2.*p+ 34.*t.^3;plot(x5,y5)x6= 8.3.*p.^2+ 7.2.*2.*t.*p+ 10.*t.^2;

    y6= 34.*p.^2+ 24.5.*2.*t.*p+ 15.8.*t.^2;plot(x6,y6)x8= 12.5.*p.^2+ 8.7.*2.*t.*p+ 4.7.*t.^2;y8= 2.*p.^2+ 2.9.*2.*t.*p+5.*t.^2;plot(x8,y8)x9= 4.7.*p.^2+ 4.*2.*t.*p+ 7.1.*t.^2;y9= 5.*p.^2+ 10.*2.*t.*p+10.2.*t.^2;plot(x9,y9)x10= 7.1.*p.^2+ 7.5.*2.*t.*p+ 8.2.*t.^2;

    y10= 10.2.*p.^2+ 12.*2.*t.*p+ 13.2.*t.^2;plot(x10,y10)x11= 8.2.*p.^2+ 8.5.*2.*t.*p+ 9.1.*t.^2;y11= 13.2.*p.^2+ 14.4.*2.*t.*p+ 14.6.*t.^2;plot(x11,y11)x12=9.1.*p+ 10.*t;y12=14.6*p+ 15.8*t;plot(x12,y12)x13= 18.6.*p+ 16.3.*t;

    y13= 11.6.*p+ 10.2.*t;plot(x13,y13)x14= 16.3.*p+ 16.*t;

  • 7/23/2019 tutorialMATLAB_upeu.pdf

    66/90

    66

    MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN

    y14= 10.2.*p+ 10.*t;plot(x14,y14)x15= 16.*p+ 15.1.*t;y15= 10.*p+ 9.5.*t;plot(x15,y15)

    x16= 15.1.*p+ 13.8.*t;y16= 9.5.*p+ 8.9.*t;plot(x16,y16)x13= 7.1.*p+ 8.6.*t;y13= 10.2.*p+ 9.6.*t;plot(x13,y13)x14= 8.6.*p+ 9.5.*t;y14= 9.6.*p+ 9.1.*t;plot(x14,y14)

    x15= 9.5.*p+ 10.3.*t;y15= 9.1.*p+ 8.8.*t;plot(x15,y15)x16= 13.2.*p+ 12.6.*t;y16= 3.8.*p+ 6.8.*t;plot(x16,y16)x17= 12.6.*p+ 11.3.*t;y17= 6.8.*p+ 6.8.*t;plot(x17,y17)x18= 11.3.*p+ 11.7.*t;y18= 6.8.*p+ 4.8.*t;plot(x18,y18)x19= 11.3.*p+ 10.2.*t;y19= 6.8.*p+ 6.7.*t;plot(x19,y19)x20=10.2.*p.^4+ 10.4.*4.*p.^3.*t+ 10.5.*6.*p.^2.*t.^2+ 11.5.*4.*p.*t.^3+13.2.*t.^4;y20=6.7.*p.^4+ 4.5.*4.*p.^3.*t+ 3.5.*6.*p.^2.*t.^2+ 3.7.*4.*p.*t.^3+ 3.8.*t.^4;plot(x20,y20)

    x21= 13.5.*p+ 24.*t;y21= 6.7.*p+ 9.*t;plot(x21,y21)x22= 13.9.*p+ 26.*t;y22= 7.2.*p+ 11.5.*t;plot(x22,y22)x23= 13.7.*p+ 26.*t;y23= 7.7.*p+ 13.*t;plot(x23,y23)

    x24= 9.*p+ 1.*t;y24= 7.*p+ 11.*t;plot(x24,y24)

  • 7/23/2019 tutorialMATLAB_upeu.pdf

    67/90

    67

    MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN

    x25= 8.5.*p+ 1.5.*t;y25= 7.8.*p+ 12.8.*t;plot(x25,y25)x26= 9.5.*p+ 3.5.*t;y26= 7.6.*p+ 13.5.*t;

    plot(x26,y26)x27= 11.1.*p.^3+ 8.6.*3.*t.*p.^2+ 14.*3.*t.^2.*p+ 11.1.*t.^3;y27= 7.8.*p.^3+ 9.2.*3.*t.*p.^2+ 9.1.*3.*t.^2.*p+ 7.8.*t.^3;plot(x27,y27)x28=8.2.*p.^4+ 9.*4.*p.^3.*t+ 9.6.*6.*p.^2.*t.^2+ 10.1.*4.*p.*t.^3+ 9.5.*t.^4;y28=13.2.*p.^4+ 14.*4.*p.^3.*t+ 14.5.*6.*p.^2.*t.^2+ 13.5.*4.*p.*t.^3+ 9.1.*t.^4;plot(x28,y28)x29=13.8.*p.^4+ 13.3.*4.*p.^3.*t+ 14.9.*6.*p.^2.*t.^2+ 15.7.*4.*p.*t.^3+16.3.*t.^4;

    y29=8.9.*p.^4+ 14.5.*4.*p.^3.*t+ 15.5.*6.*p.^2.*t.^2+ 14.4.*4.*p.*t.^3+ 10.2.*t.^4;plot(x29,y29)x30=8.5.*p.^4+ 9.*4.*p.^3.*t+ 9.7.*6.*p.^2.*t.^2+ 9.6.*4.*p.*t.^3+ 9.5.*t.^4;y30=9.625.*p.^4+ 10.5.*4.*p.^3.*t+ 10.8.*6.*p.^2.*t.^2+ 10.*4.*p.*t.^3+ 9.1.*t.^4;fill(x30,y30,'r')x31=15.1.*p.^4+ 14.9.*4.*p.^3.*t+ 15.2.*6.*p.^2.*t.^2+ 15.6.*4.*p.*t.^3+ 16.*t.^4;y31=9.5.*p.^4+ 11.7.*4.*p.^3.*t+ 12.1.*6.*p.^2.*t.^2+ 11.8.*4.*p.*t.^3+ 10.*t.^4;fill(x31,y31,'r')x32= 13.8.*p+ 12.2.*t;y32= 8.9.*p+ 8.*t;plot(x32,y32)x33= 14.6.*p.^2+ 13.5.*2.*t.*p+ 12.6.*t.^2;y33= 15.6.*p.^2+ 17.*2.*t.*p+ 17.3.*t.^2;plot(x33,y33)x34= 13.8.*p.^2+ 13.4.*2.*t.*p+ 12.6.*t.^2;y34= 16.*p.^2+ 16.5.*2.*t.*p+ 17.3.*t.^2;plot(x34,y34)x35= 13.8.*p.^2+ 12.6.*2.*t.*p+ 12.*t.^2;y35= 16.*p.^2+ 16.6.*2.*t.*p+ 16.5.*t.^2;

    plot(x35,y35)x36= 12.9.*p.^2+ 12.5.*2.*t.*p+ 12.*t.^2;y36= 16.*p.^2+ 16.2.*2.*t.*p+ 16.5.*t.^2;plot(x36,y36)x37= 11.5.*p.^2+ 12.2.*2.*t.*p+ 12.9.*t.^2;y37= 16.2.*p.^2+ 16.3.*2.*t.*p+ 16.*t.^2;plot(x37,y37)x38= 11.5.*p+ 12.2.*t;y38= 16.2.*p+ 15.9.*t;

    plot(x38,y38)x39= 11.3.*p+ 12.2.*t;y39= 16.*p+ 15.9.*t;

  • 7/23/2019 tutorialMATLAB_upeu.pdf

    68/90

    68

    MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN

    plot(x39,y39)x40= 15.2.*p.^2+ 16.*2.*t.*p+ 13.8.*t.^2;y40= 16.2.*p.^2+ 22.5.*2.*t.*p+ 27.5.*t.^2;plot(x40,y40)x41= 15.2.*p.^2+ 13.*2.*t.*p+ 13.8.*t.^2;

    y41= 16.2.*p.^2+ 22.5.*2.*t.*p+ 27.5.*t.^2;plot(x41,y41)x42= 10.7.*p.^2+ 11.5.*2.*t.*p+ 8.5.*t.^2;y42= 16.2.*p.^2+ 22.5.*2.*t.*p+ 30.*t.^2;plot(x42,y42)x43= 10.7.*p.^2+ 8.2.*2.*t.*p+ 8.5.*t.^2;y43= 16.2.*p.^2+ 22.5.*2.*t.*p+ 30.*t.^2;plot(x43,y43)title('QUE HAY DE NUEVO VIEJO!')

    xlabel('EJE X')ylabel('EJE Y')

    CLCULOS MATEMTICOS EN MATLAB1) Clculos en una sola variable

    El rea de la esfera 24 rA r=2;A=4*pi*r.^2%resultadoA = 50.2655

    Otra forma es utilizando el comando subssyms rA=4*pi*r.^2;subs(A,2)%resultadoans = 50.2655 El enunciado ifr=2;if r>0

    A=4*pi*r.^2end%resultado

    A = 50.2655

    El operador igual(==)r=2;if r==2

    A=4*pi*r.^2end%resultadoA = 50.2655

    El operador no igual (~=)r=2;if r~=3

    A=4*pi*r.^2end%resultado

    A = 50.2655 El enunciado if se puede utilizar con else o

    elseifr=2;if r>3

    b=1elseif r==3

    b=2else

    b=0end%resultado b =0

    r=6;if r>3

    b=1elseif r==3

    b=2else

    b=0

    end%resultadob = 1r=3;if r>3

    b=1elseif r==3

    b=2else

    b=0end%resultado

    b =2 El comando disp exhibe un nmero, vector,

    matriz o cadena en la ventana de comandosdisp(pi)

  • 7/23/2019 tutorialMATLAB_upeu.pdf

    69/90

    69

    MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN

    %resultado3.1416

    disp('YO SOY UN EXCELENTE ALUMNO')%resultadoYO SOY UN EXCELENTE ALUMNO Los cilos for/end y while/end

    El rea de la esfera para r=1 hasta 5

    for r=1:5Area=4*pi*r.^2;disp([r,Area])

    end%resultado

    ri Areas1.0000 12.56642.0000 50.26553.0000 113.09734.0000 201.06195.0000 314.1593

    r=0;while r2*rbreak

    endend

    end%resultados

    ri Areas

    1.0000 12.56641.0000 12.56641.0000 12.56642.0000 50.26552.0000 50.26552.0000 50.26552.0000 50.26552.0000 50.26553.0000 113.09733.0000 113.09733.0000 113.09733.0000 113.0973

    3.0000 113.09733.0000 113.09733.0000 113.0973

    VARIABLES Y ARREGLOSx=[4,6,8,1,9];x(2)%x(5)%%resultadoans =6

    ans =9

    ADEMSfor i=1:6

  • 7/23/2019 tutorialMATLAB_upeu.pdf

    70/90

    70

    MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN

    x(i)=i*(i+1)/2end%RESULTADOSx = 1 3 6 10 15 21x = 1 3 6 10 15 21x = 1 3 6 10 15 21x = 1 3 6 10 15 21

    x = 1 3 6 10 15 21x = 1 3 6 10 15 21

    Decrementa de dos en dosx=14:-2:2%resultadox =14 12 10 8 6 4 2

    Incrementa de dos en dosx=2:2:12%resultadox = 2 4 6 8 10 12

    Arreglosx=[3,5,7,8];y=[1,2,9,6];for i=1:4

    z(i)=x(i)+y(i)end%resultadosz = 4

    z = 4 7z = 4 7 16z = 4 7 16 14 Posiciones de areglosA=[4,6,7;9,2,5;-3,-5,9]A(1,1)A(2,3)A(1,1)%resultadosA =4 6 7

    9 2 5-3 -5 9

    ans = 4ans = 5ans = 4

    PosicionesA=[4,6,7;9,2,5;-3,-5,9]A(3,:)%resultadosA =4 6 7

    9 2 5-3 -5 9

    ans =-3 -5 9

    A=[4,6,7;9,2,5;-3,-5,9]A(:,3)%resultados

    A =4 6 79 2 5-3 -5 9

    ans = 759

    Anidados

    a=[3,4,6;3,8,3;4,3,6];b=[1,2,3;7,8,9;4,6,6];for i=1:3

    for j=1:3c(i,j)=a(i,j)+b(i,j)

    endend%respuestac = 4c = 4 6c = 4 6 9c = 4 6 9

    10 0 0c = 4 6 9

    10 16 0c = 4 6 9

    10 16 12c = 4 6 9

    10 16 128 0 0

    c = 4 6 910 16 128 9 0

    c = 4 6 910 16 128 9 12

    sumatoriasx=[3,4,6,7,9];sum(x)%respuestaans = 29

    x=[3,4,6;5,7,9];sum(x)%respuesta

    ans = 8 11 15

    x=[3,4,6;5,7,9;1,2,3];sum(x)%respuestaans = 9 13 18

    x=[3,4,6,5,7,9];MIN=min(x)MAX=max(x)%respuestasMIN = 3

    MAX = 9

  • 7/23/2019 tutorialMATLAB_upeu.pdf

    71/90

    71

    MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN

    Media aritmticafunction [media, desviacion]=medias(x)n=length(x);media=sum(x)/n;desviacion=sqrt(sum(x.^2)/n-(media).^2);

    %Compilando

    x=[2,3,4,5,6,7];[m,d]=medias(x)%respuestam = 4.5000d = 1.7078 Creacin de archivos Mfunction y=soria(x)y=x.^2-3*x+5;

    %Compilandosoria(3)%respuestaans = 5

    %Compilandosoria([3, 2;4,1])%respuestaans = 5 3

    9 3 Funciones de Usuario propias

    function mp=fun(soria,a,b,c)mp=((feval(soria,a)+2*feval(soria,b)+feval(soria,c))/4);

    %compilandofun('soria',2,4,-1)%resultadosans = 7.5000LOBORATORIO DE MATLAB

    1) Calcular el volumen de una esfera 33

    4rV

    con r=2

    2) El campo elctrico de un disco circular conradio R y densidad de carga con distancia Z a

    un eje es22

    0

    11

    2

    .

    zRz

    zEZ . Calcular

    ZE para12

    102,1 120 1085,8

    23z eR 4 35 e=N neperiano3) La densidad D de un objeto cilndrico es

    LR

    MD

    2, hallar la cota inferior y superior

    de la densidad del objeto donde:

    cmL

    cmR

    grM

    012,0431,15

    01,020,8

    005.0029.0

    4) Para un mesn 0 que decae en dos fotonescon una vida media se quiere calcular su

    velocidad por la frmula2

    1

    c

    L

    donde; mL 510 ; 16102 9

    103c =velocidad de la luz . Hallar suvelocidad.

    4) (Contaminacin del agua) Al depositarse enun lago, los desperdicios orgnicos disminuyenel contenido de oxgeno del agua. Si t denota eltiempo en das despus que se deposita eldesperdicio, se encuentra experimentalmenteen un caso que el contenido de oxgeno es

    600030 23 tty con 250 t . Encuentrelos valores mximo y mnimo de y durante los25 das siguientes al vaciado del desperdicio.

    5) (Contaminacin atmosfrica) El ndice decontaminacin atmosfrica en cierta ciudadvara durante el da de la siguiente manera:

    1612;350

    124;14

    42;26

    20;42

    )(

    tsit

    tsi

    tsit

    tsit

    tP

    Aqu t es el tiempo en horas, con t=0correspondiente a 6 a.m. y t=16 a 10 p.m. Hagala grfica de esta funcin. Cul son los nivelesde contaminacin a las 8 a.m. , 12 del da, 6p.m. y 8 p.m.?

  • 7/23/2019 tutorialMATLAB_upeu.pdf

    72/90

    72

    MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN

    GRFICOS CON MARCAS Y PROGRAMACIN CON EL SOFTWARE MATLAB 7.0 GRAFICOS CON MARCAS

    TIPO DE MARCA S MBOLOPunto .Ms

    +Estrella *Crculo oMarca x x

    TIPOS DE LNEATIPO DE LNEA S MBOLOContinua -Guiones --Punteada :Guiones y puntos -.

    COLORES DE LNEACOLORES DE LNEA S MBOLORojo rAmarillo yMagenta mTurquesa cVerde gAzul bBlanco wNegro k

    E-1) Graficar la funcinx

    xSenxf

    )(10)(

    Resolucin%Formato para graficarx=-15:0.05:15;f1=10*sin(x)./(x);plot(x,f1,'+')grid ontitle('GRAFICAS CON MARCAS')xlabel('EJE X')ylabel('EJE Y')

    text(4,5,'f1=10*sin(x)./(x)')

    El comando FontSize%Este formato aumenta de tamao las letras

    x=-15:0.05:15;f=sin(x)./(x);plot(x,f,'*m')grid ontitle('GRAFICAS CONMARCAS','FontSize',[20],'color','g')xlabel('ABSCISAS','FontSize',[18],'color','r')ylabel('ORDENADAS','FontSize',[18],'color','r')gtext('f=sin(x)./(x)','FontSize',[15],'color','b')

    El comando hold onen la superposicinx=-10:0.05:10;f1=sin(x)./(x+eps);plot(x,f1,'*')hold onf2=sin(x);f3=-cos(x);plot(x,f2,'+g')plot(x,f3,'.-r')grid ontitle('GRAFICAS CONMARCAS','FontSize',[20],'color','b')xlabel('ABSCISAS','FontSize',[18],'color','c')ylabel('ORDENADAS','FontSize',[18],'color','c')

    El comando subploten grficos del plano

    Con subplot podemos graficar mpor ngrficasen una sola figura; la sintaxis es:subplot(m,n,k) donde k es el nmerosecuencial de la grfica.

  • 7/23/2019 tutorialMATLAB_upeu.pdf

    73/90

    73

    MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN

    %Este formato realiza 4 graficas de 2 filas y 2%columnassubplot(2,2,1)gtext('figura1')subplot(2,2,2)gtext('figura2')

    subplot(2,2,3)gtext('figura3')subplot(2,2,4)gtext('figura4')

    Ejemplo:E-1)Graficar las funcionessubplot(2,2,1)x=-5:0.05:5;f1=cos(x);plot(x,f1,'b')grid ontitle('subplot(2,2,1)')subplot(2,2,2)

    x=-5:0.05:5;f2=sin(x);plot(x,f2,'g')grid ontitle('subplot(2,2,2)')subplot(2,2,3)x=-2:0.05:2;f3=-x.^2;plot(x,f3,'r')grid ontitle('subplot(2,2,3)')subplot(2,2,4)

    x=-5:0.05:5;f4=-x.*sin(x);plot(x,f4,'k')grid ontitle('subplot(2,2,4)')

    Prctica dirigida con MATLAB Graficar cada una de las funciones

    reales1.- 0)( 2 xexxf 2.- 0)cos()( xxxf 3.- 0)cos(2)()( xxsenxf

    4.- 0)1()cos()( 12xxxf

    5.- 0)ln()2()( 2 xxxf

    6.- 0)2()(4)( 22 senxxxsenxxf

    7.- 012.0)log()( 2xxxf

    8.- 06cos22)( xexf xx

    9. 5)( 3xexf x

    10. Lnxexsenxxf xcos)(

    Utilice el comando subplot para graficar

    1. 5)( 33 xexsenxf x

    2 )log(32))3(tan()( 52 senxxxsenxf

    3. 62cos)( 3 xxxsenxxf 4. )).cos(tan()( xxf TAREA DOMICILIARIAGraficar las funciones reales1) 21log210)( xxxxf

    3) 42)()( xxLnxf 4) 12)(

    3

    xex x

    5) 3log)( 3cos xxexf xsenx

    7) 4ln)( 3cos xxexf xsenx

    8) 22 )2()(4)( senxxxsenxx

    9) )()( 1 xsenxxxf

    10) 22 )cos2()cos(4)( xxxxxg

    12) 6cos22)( xexr xx

  • 7/23/2019 tutorialMATLAB_upeu.pdf