Scilab Latex v1.0

Embed Size (px)

Citation preview

  • SCILAB CON APLICACIONES EN INGENIERIAV1.0

    Instituto Tecnologico Superior del Oriente del Estado de HidalgoDivision de Ingeniera en Logstica

    DocentesJaime Alberto Zaragoza Hernandez.

    Claudia Sanchez Garca

    AlumnasTeresa Olvera Santader

    Celina Evelyn Hernandez Gomez

    18 de octubre de 2012

    Este manual ha sido elaborado con LATEX en el Instituto Tecnologico Superior del Oriente del Estado de Hidalgo. ITESA,

    carretera Apan - Tepeapulco, km., 3.5, Col. Las Pe~nitas. Apan, Hidalgo. C.P. 43900. Tel. 01 748 91 2 34 89 o 90

    http://www.itesa.edu.mx

  • ii

  • Contenido

    Introduccion. V

    1. Nociones preliminares. Uso de la consola en Scilab. 11.1. Acerca de Scilab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2. Descarga e Instalacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.3. Uso de la consola de Scilab . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

    1.3.1. Scilab como calculadora. Variable predeterminada ans . . . . . . . 31.3.2. Comandos clc y clear . . . . . . . . . . . . . . . . . . . . . . . . . . 51.3.3. Ayuda en Scilab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.3.4. Caracteres reservados para Scilab . . . . . . . . . . . . . . . . . . . 61.3.5. Comando format . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81.3.6. Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91.3.7. Funciones trigonometricas . . . . . . . . . . . . . . . . . . . . . . . 101.3.8. Funciones exponenciales y logartmicas . . . . . . . . . . . . . . . . 121.3.9. Vectores y matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . 131.3.10. Operaciones con vectores . . . . . . . . . . . . . . . . . . . . . . . . 131.3.11. Operaciones con matrices . . . . . . . . . . . . . . . . . . . . . . . 171.3.12. Solucion de sistema de ecuaciones lineales . . . . . . . . . . . . . . 21

    1.4. Gracas en consola de Scilab . . . . . . . . . . . . . . . . . . . . . . . . . . 221.5. Funciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221.6. El guion en Scilab. Introduccion a SciNotes . . . . . . . . . . . . . . . . . . 24

    2. Gracas 2D 292.1. Gracas 2D basicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292.2. Comando plot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292.3. Graca de dos funciones usando function... endfunction . . . . . . . . . . . 352.4. Comando Plot2D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362.5. Mejoras para la presentacion de gracas. . . . . . . . . . . . . . . . . . . . 39

    2.5.1. Variable grid=[x,y] . . . . . . . . . . . . . . . . . . . . . . . . . . . 392.5.2. Variable font style y font size para edicion de tipo y tama~no de texto 402.5.3. Variable log ags para gracas logartmicas . . . . . . . . . . . . . 432.5.4. Variable x location y y location para posicionamiento de los ejes . . 442.5.5. Comando xstring para agregar leyendas a la graca . . . . . . . . . 452.5.6. Gracas con plot2d# y subplot . . . . . . . . . . . . . . . . . . . . 47

    iii

  • 2.5.7. Gracas de vectores con plot2d4 . . . . . . . . . . . . . . . . . . . . 492.5.8. Gracas en coordenadas polares. Comando polarplot . . . . . . . . 502.5.9. Gracas de funciones vectoriales. Comando comet . . . . . . . . . . 51

    3. Gracas de funciones de 2 y 3 variables 553.1. Comando plot3d . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

    3.1.1. Comando plot3d1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563.1.2. Comando plot3d2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 573.1.3. Comando plot3d3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

    3.2. Ecuaciones parametricas en el espacio. Comando param3d . . . . . . . . . 603.3. Funciones vectoriales en el espacio con comet3d . . . . . . . . . . . . . . . 613.4. Graca de una supercie con el comando mesh . . . . . . . . . . . . . . . . 623.5. Graca de supercie con el comando surf . . . . . . . . . . . . . . . . . . . 63

    iv

  • Introduccion.

    Se presenta al lector este modesto texto de Scilab en el que encontrara tanto, informacionelemental para iniciarse en el uso y aplicacion del mismo, como aplicaciones a temas deingeniera desde el punto de vista de ejemplos estructurados de libros de texto de nivelsuperior. Los ejemplos de aplicacion a la ingeniera y los problemas sin resolver se hanseleccionado para el analisis, con la intencion de que el lector se percate de la importanciadel uso de software de computacion numerica en el proceso de entender, analizar y plan-tear soluciones que van mas alla de la practica procedimental.

    Los tres primeros captulos corresponden a una introduccion basica a Scilab y SciNotesas como a los procedimientos para elaborar gracas en el plano y tridimensionales. Enel primer captulo se presenta el uso de la consola a traves del empleo de Scilab comouna poderosa calculadora, luego se muestra la aplicacion en arreglos, es decir, de vecto-res y matrices, posteriormente se introduce la manera en que se pueden realizar gracassimples. Finalmente y de manera muy breve se introduce al lector en el uso de SciNotes,que en captulos posteriores se usara extensamente. El segundo captulo lleva de formagradual al lector a la elaboracion y presentacion adecuada de gracas. Se le presentanopciones y se avanza de a poco, hasta que logra acceder a una serie de procedimientosque le permiten elaborar gracas de estupenda presentacion y que por supuesto, tienenla nalidad de ayudar en la solucion de problemas que aparecen en la mayora de lasasignaturas de ciencias e ingeniera. El captulo tres, en el que se elaboran gracas en 3D,es fundamento visual para el calculo multivariable y de ciertos casos de la programacionno lineal.

    Los captulos 4 a 11 tratan una serie de ejemplos y ejercicios de aplicacion a la inge-niera que se encuentran comunmente en la mayora de textos referentes de cada tema.El captulo 4 presenta del algebra, las operaciones algebraicas polinomicas, obtencion deraces de un polinomio, el proceso inverso que es la obtencion del polinomio a partir de lasraces, gracas de funciones de ejemplos de aplicacion. En el captulo 5 y 6 se presenta a lageometra analtica y al calculo diferencial desde la perspectiva de modelacion, hallandosoluciones tanto numericas como gracas, por supuesto, no se deja a un lado el aspectoanaltico. El calculo integral y sus aplicaciones se encuentran en el captulo 7, se destacael uso de gracas y la integracion numerica, pues la simbolica es una carencia que se tieneen Scilab (existen otros software gratuitos que cumplen muy bien con esta funcion, comowxMaxima http://andrejv.github.com/wxmaxima/). El calculo multivariable se aborda

    v

  • en el captulo 9, donde se realza la importancia de las aplicaciones en modelos de optimi-zacion. El algebra lineal, fundamento matematico de Scilab, se trata en el captulo 8. Eltan temido tema de las ecuaciones diferenciales por parte de los alumnos, se presenta conaplicaciones al modelado, y se revisa en el captulo 10. Finalmente, una aplicacion pordemas interesante se presenta en el captulo 11, se trata de la probabilidad y estadstica,rama de las matematicas de aplicacion en gran cantidad de actividades humanas.

    En espera de que este texto resulte de utilidad para alumnos y maestros, que siendo o noseguidores del software libre y gratuito, consideren dentro para sus asignaturas el uso deScilab como una alternativa viable y amena.

    Enero 2012

    vi

  • CAPITULO 1

    Nociones preliminares. Uso de laconsola en Scilab.

    1.1. Acerca de Scilab

    Scilab es un software libre y de codigo abierto de computacion numerica, que se usa enaplicaciones cientcas y de ingeniera. Es similar a MATLAB R en presentacion y manejo,por lo que Scilab es una extraordinaria alternativa al costoso software de MathWorks R.Scilab es empleado en areas tales como:

    Aeroespacial.

    Automotriz.

    Energa

    Defensa

    Financiera.

    Qumica.

    Biologa.

    Fsica.

    Medicina.

    Scilab es multiplataforma, puede instalarse y ejecutarse en Windows R, Mac R, o Linux,lo que potencializa su uso.

    El software puede ser descargado de la pagina de internet http://www.scilab.org e insta-larse en los sistemas operativos GNU/Linux, Mac OS X 10.6 y Windows XP/Vista/Seven.De la misma pagina es posible descargar documentacion relativa a la instalacion y ope-racion del software; existen tutoriales en idioma ingles y frances. En la misma pagina, en

    1

  • la direccion de internet http://www.scilab.org/products/scilab/history2 puede leerse lahistoria del software, que entre otras cosas relata su origen en los a~nos 80's, con Blaise,un software creado en el IRIA (Institut de Recherche en Informatique et en Automatique)desarrollado por Francois Delebecque and Serge Steer con el proposito de proporcionar unaherramienta para la investigacion en control. Su desarrollo fue inspirado en MATLAB Rde Cleve Moler. Para la decada de los a~nos 90's, el software cambia de nombre parallamarse Scilab, desarrollado entonces por el INRIA (Institut National de Recherche enInformatique et en Automatique) dentro del Grupo Scilab con el apoyo de investigado-res de la ENPC (ecole Nationale des Ponts et Chaussees). El INRIA decide que Scilabsera software libre y de codigo abierto. La primera version en estas condiciones apareceel 2 de enero de 1994.

    A comienzos del a~no 2003, y debido a la gran cantidad de descargas, el INRIA con elproposito de asegurar el futuro de Scilab, en cuanto a desarrollo, mantenimiento, y promo-cion, decide crear el Consorcio Scilab, con el apoyo de varias compa~nas y organizacionesacademicas. Entre las empresas reconocidas mundialmente por la mayora de las personasdestacan Peugeot R y Renault R.

    En la actualidad el Consorcio Scilab pertenece a Digiteo R, de esta forma se proporcionael apoyo en el desarrollo y sostenimiento del software necesario para prevalecer por largotiempo. A partir de 2008 Scilab se distribuye bajo CeCill License .

    Actualmente se realizan mas de 50,000 descargas mensuales en mas de 80 pases en elmundo.

    Academicamente, es usado en universidades de Japon (Universidad de Tokio, Tsukubae Hiroshima), India (Instituto Tecnologico Indio de Bombay) y China (ecole Centralede Pekin, Universidad de Zhejiang y el Instituto de Automatizacion de la Academia deCiencias de China). En Francia es usado por la ecole Polytechnique, ecole Centrale Paris,ecole Nationale Superieure de Techniques Avancees y la ecole des Ponts.

    1.2. Descarga e Instalacion

    El sistema operativo en el que se ha trabajado para elaborar este documento es Windows RSeven R. Para los usuarios de este sistema operativo, simplemente deben ingresar me-diante su navegador de internet preferido a la pagina www.scilab.org, que al momento deelaborar este texto tiene la apariencia que se muestra en la gura 1.1 Con el puntero delmouse seleccionar el area que dice Download Scilab. La version a descargar es la 5.3.3.

    Una vez realizado lo anterior, inmediatamente despues aparece una ventana que nos indicaguardar el archivo scilab-5.3.3.exe en la carpeta que se desee. Con el archivo en la compu-tadora, este se abre para ejecutarlo y comenzar la instalacion. Windows R mostrara una

    2

  • Figura 1.1: Pagina de inicio del sitio web de Scilab www.scilab.org, desde la cual sedescarga el software.

    ventana de Cuenta de Usuarios que nos pedira permitir ejecutar el archivo, entonces se-leccionar la palabra s. Se siguen las indicaciones paso a paso como lo indica el software.Si se esta conectado a internet se descargaran complementos y libreras, de no ser as, sepuede actualizar posteriormente. Ya instalado se abre para observar su apariencia, comose vera en la seccion siguiente.

    Es altamente recomendable e importante navegar por el sitio web de Scilab, pues existeinformacion muy util e interesante como documentacion, enlaces a sitios que incluyen forosde discusion, comunidades, productos diferentes y complementarios y soporte tecnico entreotros servicios mas.

    1.3. Uso de la consola de Scilab

    1.3.1. Scilab como calculadora. Variable predeterminada ans

    Al comienzo del uso de Scilab, la primera aplicacion tiene que ver con calculos numeri-cos que implican operaciones basicas que pueden facilmente realizarse en una calculadoracientca.

    3

  • Figura 1.2: Ventana de la consola de Scilab. El texto se introduce delante del prompt !

    Al abrir Scilab, la pantalla que vemos corresponde a la consola. Es en la consola dondepueden realizarse innumerables calculos basicos, operaciones y evaluaciones con funciones,elaboracion de gracas en 2D y 3D, entre muchos otros. La gura 1.2, presenta la ventanade la consola de Scilab. El texto que se introduce para todos los procesos de computo, seintroduce inmediatamente despues del prompt -->.

    Como ejemplo, se introduce la secuencia de operaciones siguiente 45 23 + 12 4=6. Elsmbolo * se introduce para efectuar la multiplicacion y el smbolo / se introduce parala division. El resultado aparece inmediatamente despues de presionar la tecla introducir(enter), asignado a una variable predeterminada llamada ans (gura 1.3). De esta manera,podemos usar la variable ans para realizar nuevas operaciones con resultados previos. Seintroducen entonces las operaciones siguientes tomando en cuenta el valor de la variableans.

    ans-12+4/6, cuyo resultado es 1035 (ver gura 1.4)

    Por ultimo realizamos la operacion

    sqrt(ans/23+4)

    Donde sqrt se usa para obtener la raz cuadrada de los terminos que estan entre parentesis.Es importante mencionar, que para el uso de los parentesis, se debe respetar las reglas deprecedencia. El resultado nal se presenta en la gura 1.5.

    4

  • Figura 1.3: Introduccion de operaciones aritmeticas basicas

    Como ya se habra dado cuenta el lector, no es posible modicar lneas anteriores, parahacerlo, se debe introducir en la nueva lnea el texto con los cambios necesarios. Tambienes posible hacer cambios al volver a lneas anteriores presionando las teclas de direccionque tienen la echa hacia arriba (") o hacia abajo (#), de esta forma no es necesariointroducir todo el texto, sino solo el que nos interesa.

    1.3.2. Comandos clc y clear

    El comando clc permite borrar la pantalla por completo, mientras que el comando clearvariable borra solo aquellas variables que nos interesa eliminar. El comando clear all borratodas las variables que se hayan introducido. La gura 1.6, muestra la apariencia de unaventana de Scilab tras haber introducido el comando clc. Por claridad y espacio, de aqu enadelante se escribiran los textos de consola sin las imagenes de la ventana.

    1.3.3. Ayuda en Scilab

    Si se tienen dicultades en cualquier proceso realizado en Scilab, se puede obtener ayudaen la consola haciendo click en el cono con el signo de interrogacion o escribiendo

    -->help (opcion)

    Como ejemplo, se busca informacion sobre el comando plot para elaborar gracas en elplano.

    5

  • Figura 1.4: Uso de la variable predeterminada ans

    -->help plot

    Aparece una ventana como la que se muestra en la gura 1.7.

    En la ventana de ayuda se tiene la opcion de buscar mas terminos que se requieran uocurran.

    Cuando se esta en la ventana de SciNotes, la forma de acceder a la ayuda es haciendoclick en el cono \?" que esta en la parte superior de la barra de menus. Lo mismo sucedeen la ventana de gracos.

    1.3.4. Caracteres reservados para Scilab

    Existen constantes que son de uso comun en las matematicas y que en Scilab tienenreservados caracteres especiales que las distinguen. La forma en que se escriben es ante-poniendo el smbolo% a los caracteres que los describen. Aqu se presentan algunos deellos.

    Numero .-->%pi%pi =3.1415927

    6

  • Figura 1.5: Resultado nal del proceso de calculo

    Numero e.-->%e%e =2.7182818

    Numero Imaginario sqrt1.-->sqrt(-1)ans =i

    Numero muy grande Inf.-->%infinf =Inf

    Numero muy peque~no eps.-->%eps%eps =2.220D-16

    No un numero \nan".

    7

  • Figura 1.6: Limpieza de pantalla con el comando clc

    -->%nan%nan =Nan

    Valor verdadero t.-->Verdadero=%tVerdadero =T

    Valor falso f.-->Falso=%fFalso =F

    1.3.5. Comando format

    En Scilab de forma predeterminada el numero de cifras decimales es de 10, pero es posiblecambiar esta condicion con format(numero de dgitos). El maximo numero de dgitos enScilab es de 25.

    -->%pi%pi =3.1415927-->format(6)-->%pi%pi =3.142

    8

  • Figura 1.7: Ventana de ayuda

    1.3.6. Variables

    Se le llama variable al termino que puede tomar diferentes valores en un proceso de anali-sis matematico. Por lo general se les asignan letras minusculas como x, y, z, y para eltiempo la letra t. Tambien es posible escribir el nombre de una variable como una cadenade caracteres. Para introducir variables escalares se escribe la variable seguida del signoigual y del valor numerico, por ejemplo, x = 5.

    -->x=5x =5.

    Es posible evaluar una funcion y a partir del valor que se asigna a la variable x, porejemplo, y=x2 se evalua en la consola de Scilab de la forma siguiente:

    -->x=6x =6.-->y=x^2y =36.

    Una variable puede tomar una serie de valores en un intervalo, de tal manera que paracada valor de la variable x, en la funcion y se genera una serie de valores que estan encorrespondencia con los de x. En Scilab se dene el intervalo y sus incrementos de lasiguiente manera:

    9

  • lmite inferior : incremento : lmite superior

    El ejemplo que se presenta a continuacion muestra la forma de introducir una variable xen un intervalo de 0 a 5 con incrementos de 1. Tambien muestra el resultado en formasimilar para la funcion y = x2.

    -->x=0:1:5x =0. 1. 2. 3. 4. 5.

    -->y=x^2y =0. 1. 4. 9. 16. 25.

    En ocasiones los resultados contienen muchos renglones y columnas de valores numericosy desplegarlos puede ser innecesario e inconveniente. En ese caso, se agrega al nal de lalnea el signo \;" para evitar que se desplieguen los datos.

    -->x=0:1:5;-->y=x^2y =0. 1. 4. 9. 16. 25.

    Otra forma de introducir una serie de numero como vector es mediante el comando lins-pace(valor de inicio, valor nal, numero de valores).

    -->x=linspace(0,5,6)x =0. 1. 2. 3. 4. 5.

    Se han generado seis valores para un intervalo de 0 a 5. Los valores se pueden emplearpara evaluar una funcion como la del ejemplo anterior.

    -->y=x.^2y =0. 1. 4. 9. 16. 25.

    1.3.7. Funciones trigonometricas

    Las funciones trigonometricas se introducen de la forma siguiente funcion trigonometri-ca(variable). Inicialmente el valor de la variable se encuentra en radianes, aunque puedenemplearse los grados sexagesimales. En el caso de que la variable se exprese en grados se-xagesimales, entonces se agrega a la descripcion de la funcion la letra d, como se muestraen la tabla 1.1.

    10

  • Tabla 1.1: Funciones trigonometricas en ScilabFuncion Comando Se introduce comotrigonometrica

    seno sin sin(variable en radianes)coseno cos cos(variable en radianes)tangente tan tan(variable en radianes)cotangente cotg cotg(variable en radianes)seno sin sind(variable en )coseno cos cosd(variable en )tangente tan tand(variable en )seno1 asin asin(variable)coseno1 acos acos(variable)tangente1 atan atan(variable)

    El ejemplo que sigue muestra los resultados de hallar el seno, coseno y tangente de

    6.

    -->x=%pi/6;-->y=sin(x)y =0.5-->y=cos(x)y =0.8660254-->y=tan(x)y =0.5773503

    En el ejemplo siguiente, se asigna el valor de 30 a la variable x.

    -->x=30;-->y=sind(x)y =0.5

    Otra forma de introducir datos de la variable a la funcion trigonometrica es realizar laconversion de grados sexagesimales a radianes mediante la siguiente conversion (gradossexagesimales)(( radianes)/(180)).

    11

  • 1.3.8. Funciones exponenciales y logartmicas

    Funcion exponencial de base e

    Evaluar una funcion exponencial de base e se hace introduciendo %e.

    Como ejemplo, obtener el resultado de e, e1=2, e3, ex con x = 5.

    -->%e%e =2.7182818

    -->%e^(1/2)ans =1.6487213

    -->%e^3ans =20.085537

    -->x=5;-->%e^xans =148.41316

    Funcion logartmica

    Se acostumbra distinguir a los logaritmos neperianos o de base e de los logaritmos de basediez por los terminos ln y log respectivamente; en algunos casos se distinguen con logey log10. En Scilab se emplea log(valor) para los logaritmos de base e y log10( ) para loslogaritmos de base 10.

    -->log(100)ans =4.6051702

    -->log(%e^4)ans =4.

    -->log10(100)ans =2.

    12

  • -->log10(10^4)ans =4.

    1.3.9. Vectores y matrices

    Un vector es un arreglo de numeros que representan cantidades escalares. En Scilab esposible introducir un vector renglon o un vector columna. Para un vector renglon, loselementos o columnas se anotan entre corchetes y son separados por comas o espacios.

    -->a=[1 2 3]a =1. 2. 3.

    -->a=[1, 2, 3]a =1. 2. 3.

    En un vector columna los elementos o renglones son separados por puntos y comas.-->a=[1; 2; 3]a =1.2.3.

    Combinando las caractersticas de los vectores renglon y columna se puede introducir unamatriz.

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

    4. 5. 6.

    7. 8. 9.

    1.3.10. Operaciones con vectores

    Existen reglas o propiedades de las operaciones con vectores que deben tomarse en cuentaal realizar operaciones vectoriales en Scilab. A continuacion se presentan las operacionesbasicas de suma y multiplicacion vectorial.

    13

  • Suma de vectores

    Suma de vectores renglon

    -->a=[2 4 6];-->b=[1 3 5];-->a+bans =3. 7. 11.

    Suma de vectores columna

    -->a=[2; 4; 6];-->b=[1; 3; 5];-->c=a+bc =3.7.11.

    No se puede realizar la suma de un vector renglon con mas de una entrada con un vectorcolumna con mas de una entrada en la forma que se ha mostrado, para hacerlo se puedeobtener la transpuesta ya sea del vector renglon o vector columna.

    Multiplicacion por un escalar

    -->a=[3 9 7];-->5*aans =15. 45. 35.

    Multiplicacion elemento por elemento

    En el ejemplo que se muestra a continuacion, se multiplican dos vectores renglon.

    -->a=[2 4 6];-->b=[1 3 5];-->a*b--error 10

    Multiplicacion inconsistente.

    Cuando ocurre el error anterior, hay varias opciones para efectuar la multiplicacion devectores, con resultados diferentes cada una. En ocasiones deseamos que cada elementodel vector a se multiplique por el vector b. En tal caso habra que anteponer un punto .antes del smbolo *. El resultado es otro vector renglon:

    14

  • a*b=[2*1, 4*3, 6*5]-->a.*bans =2. 12. 30.

    En algunas situaciones, especcamente al gracar, la multiplicacion, la division y la po-tenciacion elemento por elemento es muy util y se introduce en Scilab anteponiendo a lossmbolos *, / y ^ un punto: .*, ./ y .^.

    Otra forma de multiplicar dos vectores es aplicando la multiplicacion llamada productopunto, producto interior o producto escalar debido a que el resultado es un escalar. Elproducto punto debe cumplir con la condicion de que el numero de columnas del primervector a sea igual al numero de renglones del segundo vector b. Es importante recordarque a b 6= b a.

    -->a=[2 4 6]; //Vector renglon-->b=[1; 3; 5]; //Vector columna-->a*bans =44.

    Tambien es posible hacer que el vector renglon b=[1 3 5] se transforme en un vectorcolumna desarrollando su transpuesta, por lo que el vector renglon a=[2 4 6] se multi-plica por el vector columna de la transpuesta del vector b, es decir, a bT . En Scilab latranspuesta de b se escribe b0.

    -->b'ans =1.3.5.

    -->c=a*b'c =44.

    Elementos de un vector

    Se pueden realizar operaciones con los elementos de un vector. Para ello se debe se~nalarla localizacion del elemento en el vector. En el vector a=[10 11 12 13 14], el elemento 3corresponde al numero 12. En Scilab se obtendra de la forma siguiente

    -->a=[10 11 12 13 14];-->a(3)

    15

  • ans =12.

    Tambien se puede seleccionar un rango, por ejemplo, los elementos que ocupan las posi-ciones 2, 3 y 4.

    -->a(2:4)ans =11. 12. 13.

    Al multiplicar a(3) que es un escalar por a(2:4), el resultado es

    -->a(3)*a(2:4)ans =132. 144. 156.

    Tambien se puede cambiar el valor de un elemento en un vector.

    -->a(3)=20;-->aa =10. 11. 20. 13. 14.

    Longitud de un vector

    En ocasiones, resulta de gran utilidad determinar la longitud de un vector, que es elnumero de elementos o entradas que lo componen. Como ejemplo, el vector a=[0 1 2 3 45 6] tiene 7 elementos. Para determinar la longitud del vector a, en Scilab se introducelength(vector).

    -->a=[0 1 2 3 4 5 6];-->length(a)ans =7.

    Vector de unos (vector unitario)

    La instruccion o comando para introducir unos a un vector se realiza especicando lacantidad de elementos del vector entre parentesis ones(tama~no del vector 1:n).

    -->a=ones(1:5)a =1. 1. 1. 1. 1.

    16

  • Vector de ceros (vector nulo)

    En el caso de un vector de ceros, este se genera de forma similar al vector de unos, seintroduce de la forma siguiente zeros(tama~no del vector 1:n).

    -->a=zeros(1:5)a =0. 0. 0. 0. 0.

    1.3.11. Operaciones con matrices

    Matriz de unos (matriz unitaria)

    Una matriz de unos es un arreglo de m n elementos cuyo valor para cada elemento esuno, y se introduce en Scilab mediante la instruccion ones (numero de renglones, numerode columnas).

    -->A=ones(4,3)A =1. 1. 1.

    1. 1. 1.

    1. 1. 1.

    1. 1. 1.

    Matriz de ceros (matriz nula)

    Una matriz de ceros se introduce de forma similar escribiendo zeros en lugar de ones,zeros (numero de renglones, numero de columnas).

    -->A=zeros(4,3)A =0. 0. 0.

    0. 0. 0.

    0. 0. 0.

    0. 0. 0.

    Matriz identidad

    La matriz identidad I, es una matriz de n n cuya diagonal de elementos aij, para losque i = j, son todos iguales a uno. La forma de introducir la matriz identidad se hace conla instruccion eye, eye (numero de renglones, numero de columnas). La matriz identidadhace de 1 en la multiplicacion de matrices. Tambien puede escribirse como In.

    Para una matriz de mm.

    17

  • -->A=eye(4,4)A =1. 0. 0. 0.

    0. 1. 0. 0.

    0. 0. 1. 0.

    0. 0. 0. 1.

    Para una matriz de m n.

    -->A=eye(4,3)A =1. 0. 0.

    0. 1. 0.

    0. 0. 1.

    0. 0. 0.

    -->A=eye(3,4)A =1. 0. 0. 0.

    0. 1. 0. 0.

    0. 0. 1. 0.

    Matriz de numeros aleatorios

    Es posible construir una matriz con elementos aleatorios usando el comando rand(numerode renglones, numero de columnas).

    -->A=rand(3,3)A =0.2113249 0.3303271 0.8497452

    0.7560439 0.6653811 0.6857310

    0.0002211 0.6283918 0.8782165

    Suma de matrices

    La condicion para la suma de matrices la condicion es que dos matrices deben tener elmismo numero de elementos por renglon y por columna.

    -->A=[1 2 3; 4 5 6];-->B=[6 5 4; 3 2 1];-->C=A+BC =7. 7. 7.

    7. 7. 7.

    18

  • Multiplicacion de un escalar por una matriz

    Si k es un escalar y A una matriz de tama~no m n, entonces k multiplica cada elementode A para dar como resultado kA, siendo kA = Ak.

    -->A=[1 2;3 4];-->k=6;-->k*Aans =6. 18.

    12. 24.

    Multiplicacion de matrices

    Para multiplicar matrices es condicion necesaria que el numero de columnas de la matrizA sea igual al numero de renglones de la matriz B. Sea A una matriz de m k y B unamatriz de k n, entonces AB da como resultado una matriz de m n elementos.

    La multiplicacion de una matriz de 34 por otra de 42 dara como resultado una matrizde 3 2.

    Una propiedad importante de la operacion con matrices es que AB 6= BA.

    -->A=[2 4 3 -1;3 1 5 2;-1 0 7 6];-->B=[1 4;2 3;0 -2;3 1];-->A*Bans =7. 13.

    11. 7.

    17. 12.

    Cambio de elementos de una matriz

    Al igual que se hizo con un vector, se puede cambiar el valor de alguno de los elementos deuna matriz. Siendo A la matriz en cuestion, se cambia el elemento especicando A(numerode renglon del elemento, numero de columna del elemento) = nuevo valor.

    -->A=[2 4 6 ;1 3 5;7 8 9];-->A(2,2)=0ans =2. 4. 6.

    1. 0. 5.

    7. 8. 9.

    19

  • El elemento que se halla ubicado en el renglon 3 y columna 2 es 3 y se ha cambiado porel numero 0.

    Si se desea cambiar mas elementos de una sola vez, por ejemplo, cambiar a cero cada valorde los elementos del segundo renglon.

    -->A=[2 4 6 ;1 3 5;7 8 9];-->A(2,1:3)=0ans =2. 4. 6.

    0. 0. 0.

    7. 8. 9.

    Transpuesta de una matriz

    En una matriz transpuesta AT se intercambian los renglones por las columnas de la matrizA. En Scilab se obtiene la transpuesta de la matriz A agregando un apostrofe, A0.

    -->A=[6 2 -4;3 -1 2;0 4 3]A =6. 2. - 4.

    3. - 1. 2.

    0. 4. 3.

    -->A'ans =6. 3. 0.

    2. - 1. 4.

    - 4. 2. 3.

    Inversa de una matriz

    En Scilab invertir una matriz resulta sencillo con el comando inv(matriz). La condiciones que se trate de una matriz cuadrada.

    -->A=[1 1 2;3 0 3;-2 3 0];-->inv(A)ans =-3. 2. 1.

    -2. 1.3333333 1.

    3. -1.6666667 -1.

    20

  • Determinante de una matriz

    Hallar el determinante de una matriz puede ser tedioso, pero con Scilab es sencillo com-probar si una matriz tiene determinante. Se hace mediante el comando det(matriz).

    -->A=[1 2;3 4]-->det(A)ans =-2

    1.3.12. Solucion de sistema de ecuaciones lineales

    En esta seccion se obtendra la solucion de un sistema de ecuaciones lineales en la formaescalonada reducida por las. El comando a usar es rref(matriz aumentada).

    Dado el sistema de ecuaciones lineales siguiente, hallar su solucion.

    0@ x 2y +z = 152x +3y 3z = 14x +10y 5z = 3

    1A

    Se introduce en la consola la matriz aumentada como una matriz de 3 4.

    0@ 1 2 1 152 3 3 14 10 5 3

    1A

    -->A=[1 -2 1 15;2 3 -3 1;4 10 -5 -3]A =1. -2. 1. 15.

    2. 3. -3. 1.

    4. 10. -5. -3.

    -->rref(A)ans =1. 0. 0. 8.

    0. 1. 0. -2.

    0. 0. 1. 3.

    Los numeros 1 son los coecientes de las variables x, y y z, por lo que el resultado se leex = 8, y = 2 y z = 3.

    21

  • Tama~no de una matriz

    El tama~no de una matriz A, se denota como size(A). En el ejemplo que sigue, se introduceuna matriz de 3 3 y luego se determina su tama~no.

    -->A=[1 2 3;4 5 6;7 8 9];-->size(A)ans =3. 3.

    Rango de una matriz

    El rango de una matriz es la dimension comun de los espacios de renglones y columnas dela matriz. Siendo A una matriz, para determinar el rango, se introduce en Scilab rank(A).

    -->A=[6 5 4;3 2 1;9 8 7];-->rank(A)ans =2.

    1.4. Gracas en consola de Scilab

    En ocasiones, es necesario elaborar gracas rapidamente mediante la introduccion de lainformacion necesaria en la consola de Scilab, el resultado se observa de forma inmediata.Luego se podra pulir la graca y guardar la informacion en SciNotes. Para elaborar unagraca en coordenadas rectangulares primero se declara el intervalo de gracado para lavariable x deniendo el valor inicial, el tama~no del incremento y el valor nal. Luego seintroduce la funcion y por ultimo el comando plot(x,y).

    -->x=0:0.1:2*%pi;-->y=sin(x);-->plot(x,y)

    El resultado graco (ver gura 1.8) se despliega en una ventana llamada ventana degraco numero 0. La ventana de la graca se puede acoplar a la ventana de la consolaarrastrandola por la lnea azul. La gura 1.9, muestra como se ven ambas ventanas unavez acopladas.

    1.5. Funciones

    Una funcion se dene mediante function [variable de salida] = nombre de la funcion(variablede entrada); funcion endfunction.

    22

  • Figura 1.8: Ventana graca originada desde la consola.

    Se plantea la funcion y = x3 + 2, que se evalua para x = 3 y da como resultado y = 29.

    -->function y=f(x)-->y=x^3+2-->endfunction-->f(3)ans =29.

    Tambien se puede avaluar una funcion haciendo que la variable de entrada sea un vector,por ejemplo x=[0 1 2 3].

    -->x=linspace[0,3,4]x =0. 1. 2. 3.

    -->f(x)ans =2. 3. 10. 29.

    23

  • Figura 1.9: Ventana de graca acoplada a la ventana de la consola.

    Tambien se puede gracar una funcion denida de la forma anterior.

    -->x=linspace(-10,10,20);-->f(x);-->plot(x,y)

    El resultado se aprecia en la graca de la gura 1.10.

    1.6. El guion en Scilab. Introduccion a SciNotes

    El guion o script es un archivo con extension sce. Es un editor de Scilab, en el que lainformacion se introduce y se guarda para uso posterior. Los guiones o scripts se ejecutano corren y los resultados se visualizan en la consola y/o en la ventana graca. Una delas funciones de mayor utilidad que tiene SciNotes es que se pueden introducir programas.

    Para abrir un nuevo archivo de SciNotes se selecciona el cono que tiene la gura de unblock de notas y un lapiz, que esta en la parte superior izquierda de la consola (ver gura1.11). Otra forma es a traves de la barra de menus, en donde se selecciona el menu Aplica-ciones o Applications y luego SciNotes. La apariencia de la ventana de SciNotes con lneasde instrucciones y comentarios se muestra en la gura 1.12. Los comentarios de agregananteponiendo // y aparecen en color verde. Para ejecutar el guion se presiona la tecla F5y se guarda el archivo en la carpeta que se desee. Tambien se puede ejecutar y guardarun guion seleccionando con el puntero del mouse el cono . Si se han escrito una serie delneas con resultados parciales, se seleccionan las que son de interes y al presionar el lado

    24

  • Figura 1.10: Graca de la funcion f(x) = x3 + 2, empleando function... endfunction.

    derecho del mouse se selecciona \Evaluar con eco (Evaluate until the caret, with echo)".Esta forma, no guarda el archivo. En el menu Archivo se selecciona la opcion Guardarcomo, luego se nombra el archivo y se selecciona la carpeta de destino.Al igual que con la ventana graca, la ventana de SciNotes se puede integrar a la ventanade la consola, arrastrandola de la lnea azul que esta debajo de la barra de menus y de labarra de conos y acomodandola en la ventana de la consola (Ver gura 1.13).

    Como antes se menciono, los comentarios aparecen en verde, las funciones llamadas primi-tivas tienen el color azul, las macros se visualizan en color morado y las variables externasson de color rojo. Para conocer o modicar el color se entra al menu Preferencias y des-pues a Set Colors. Por comodidad, los codigos de SciNotes que serviran de ejemplo seescribiran sin la ventana. La gura 1.14, muestra una forma de integrar las ventanas dela consola, SciNotes y la ventana graca.

    25

  • Figura 1.11: Seleccion de cono de ejecucion de nuevo archivo de SciNotes.

    Figura 1.12: Ventana de SciNotes con codigo para gracar una funcion senoidal.

    26

  • Figura 1.13: Ventana de SciNotes integrada a la ventana de la consola de Scilab.

    Figura 1.14: Integracion de las ventanas graca y de SciNotes en la ventana de la consola.

    27

  • 28

  • CAPITULO 2

    Gracas 2D

    2.1. Gracas 2D basicas

    Elaborar gracas es muy util para comprender el comportamiento de modelos matemati-cos de aplicacion en las ciencias y la ingeniera. Las gracas facilitan el camino paraencontrar la solucion de un sin numero de problemas; en ocasiones resultan ser la mejormanera para hallar una solucion, ademas son un medio adecuado para la presentacion deresultados y para la comunicacion de conceptos.

    Con Scilab es posible elaborar gracas bidimensionales o 2D usando los comandos plot yplot2d. El uso de uno u otro comando dependera de las caractersticas a mostrar en lagraca deseada. En el caso de plot2d se tiene la posibilidad de ofrecer distintas aparienciasa una misma funcion con la adicion de los numeros 1, 2, 3 o 4 al comando plo2d, es decir, elcomando toma las formas plot2d1, plot2d2, plot2d3 o plot2d4, como se vera mas adelante.

    2.2. Comando plot

    Este comando es sencillo y requiere que el vector de la variable independiente sea delmismo tama~no que el de la variable dependiente. En el codigo del ejemplo 1, que se pre-senta a continuacion, se introduce primero el vector x y luego el vector y en funcion delvector x, despues se introduce el comando plot, seguido de propiedades como ttulos deencabezado y de ejes mediante el comando xtitle(\Ttulo de graca", \Ttulo del eje x",\Ttulo del eje y") y la inclusion de rejilla con el comando xgrid(numero de color de rejilla).

    Ejemplo 1. Dibujar la graca de la funcion y = 2 cos 2x, en el intervalo de (0; 2), usan-do el comando plot.

    El codigo muestra las lneas que se insertan en la ventana de SciNotes para generar unagraca de una funcion senoidal, en este caso la funcion y que es dos veces el coseno delangulo, representado por x. El intervalo para gracar la funcion va de 0 hasta 2 radia-

    29

  • nes. La graca presenta el ttulo de encabezado y los ttulos de los ejes.

    x=0:0.1:2*%pi; //Vector xy=2*cos(2*x); //Vector yplot(x,y)xtitle("GRAFICA DE FUNCI ON SENOIDAL"," Angulo (x)","Funcion y(x)")xgrid //Trazo de rejilla con el color original.

    El resultado se muestra en la gura 2.1.

    Es posible representar dos o mas gracas de funciones en un mismo plano coordenado. Elejemplo 2, muestra la forma en la que puede hacerse este tipo de gracas.

    Figura 2.1: Graca elaborada con el comando plot

    Ejemplo 2. Gracar la funcion coseno del ejemplo 1 y agregar al plano coordenado lafuncion 2 + 2 sin 2x.

    Para este tipo de situaciones, en el codigo se ilustra la forma de representar dos funcionesen un mismo plano. Se adicionan propiedades como color y grosor de lnea. El comandose escribe: plot(x,f(x), \color", \grosor de lnea", numero que expresa la magnitud delgrosor de lnea).

    x=0:0.1:2*%pi; //Vector \x"y=2*cos(2*x); //Vector\y"plot(x,y,"g","thickness",3) //Graca de color verde y grosor de lnea 3v=2+2*sin(2*x);//Vector "y" para la funcion seno.

    30

  • plot(x,v,"r","thickness",5) //Graca de color rojo y grosor de lnea 5xtitle("GRAFICA DE FUNCI ON SENO Y COSENO"," Angulo (x)","Funcion y(x)")xgrid //Trazo de rejilla

    La graca que surge al ejecutar el codigo es la que se muestra en la gura 2.2, en la cualse ha cambiado el color original a verde y rojo.

    Figura 2.2: Graca de dos funciones usando el comando plot

    Situaciones como la del ejemplo anterior se presentan cuando se trata de comparar proce-sos o eventos en los que las condiciones de inicio dieren. Resulta muy util para el analisisexperimental resaltar diversos comportamientos no solo con colores, sino, tambien con -guras (como se vera en secciones posteriores). Durante el trabajo de aula, el docente puedeaclarar el panorama de lo que sucede al evaluar diversas funciones y seguir distintas tra-yectorias. En un ejemplo posterior se indicara el procedimiento para agregar leyendas quefaciliten la identicacion de varias funciones, por ahora, con la informacion que se tienees posible realizar analisis de muchos problemas de ingeniera y ciencias usando gracassencillas como las ya mostradas.

    Para modicar los colores de lnea se puede introducir la palabra completa del color desea-do, ya sea en minusculas o mayusculas o la solo mediante la letra inicial. La tabla 2.1presenta las diversas opciones para modicar el color de lnea.

    En ocasiones, es deseable distinguir los trazos de las funciones no solo por el color si nopor smbolos que las distingan. En el ejemplo 3 el comando plot se escribe de tal maneraque el estilo de la curva a trazar se dene al colocar el codigo o el smbolo en la primeraposicion. La gura 2.3 ilustra el caso de las mismas gracas de la gura 2.2, pero con trazos

    31

  • representados por smbolos. La tabla 2.2, muestra los smbolos disponibles en Scilab paratrazar funciones en el plano.

    Tabla 2.1: Codigos de color para el comando plotColor de lnea Texto en ingles Abreviatura

    Azul blue bCian cyan cVerda green gNegro black k

    Magenta magenta mRojo red r

    Amarillo yellow y

    Figura 2.3: Graca de dos funciones usando el comando plot

    Ejemplo 3. Traza la funcion del ejemplo 2 usando algunos smbolos de la tabla 2.2.

    Se escribe el mismo codigo del ejemplo 2, con un cambio en el estilo, al agregar el codigodel smbolo. Hay que observar que en la primera lnea se anota el comando clf() con elproposito de limpiar o \resetear" gracas anteriores o la ventana graca actual o ante-riores.

    clf() //Limpia la ventana de gracas anteriores.x=0:0.1:2*%pi; //Vector x

    32

  • y=2*cos(2*x); //Vector yplot(x,y,"*g","thickness",3) //Curva color verde, smbolo de asterisco y grosor de lnea 3v=2+2*sin(2*x);//Vector y para la funcion senoplot(x,v,"pr","thickness",5) //Curva de color rojo, smbolo de estrella y grosor de lnea 5xtitle("GRAFICA DE FUNCI ON SENO Y COSENO"," Angulo (x)","Funcion y(x)")xgrid //Trazado de rejilla

    Tabla 2.2: Codigos de smbolos para el trazado de gracas en 2DCodigo Descripcion Smbolo

    . Punto : Punto y guion -..-- Lnea punteada --* Asterisco *+ Mas +- Lnea continua |d Rombo }o Crculos p Estrella de cinco puntas ?s Cuadros v Nabla rx Cruz de San Andres

    Como ejemplo de aplicacion, la ingeniera electrica es una fuente de inspiracion para elabo-rar gracas muy interesantes. En el ejemplo 4 se ha gracado una onda modula y sus ondasenvolventes. Destaca en este ejemplo la modicacion de los lmites del marco de la graca.

    Ejemplo 4. Gracar la onda modulada y = 0;5 sin(x) sin(12x) y la onda de amplitudenvolvente y = 0;5 sin(x) en un intervalo de 0 a 4 en x.

    En el codigo de este ejemplo se han agregado lneas que permiten modicar los ejes coor-denados en sus dimensiones, lo que en este caso posibilita enmarcar la graca entre lacoordenada (0;0;6) y la coordenada (4; 0;6), la variable a introducir es a=get(\currentaxes"), seguida de a.data bounds=[x1,y1;x2,y2]. Es importante no omitir el guion bajoentre a.data y bounds, y el punto y coma entre las coordenadas y1 y x2.

    clf() //Borra gracas anterioresx=0:0.01:4*%pi;y=0.5*sin(x).*sin(12*x); //Onda moduladaplot(x,y)w=0.5*sin(x); //Onda envolventeplot(x,w)

    33

  • z=-0.5*sin(x); //Onda envolventeplot(x,z)xtitle("Onda modulada y=0.5sin(x)sin(12x)","Eje X","Eje Y")a=get("current axes"); //Permite manipular los ejes. No olvidar el guion bajoa.data bounds=[0,-0.6;4*%pi,0.6]; // Enmarca la graca [xmin, ymin; xmax, ymax]

    La graca del ejemplo 4 se ilustra en la gura 2.4. Hay que observar el espacio que quedapor encima y por debajo de la graca de la funcion.

    Figura 2.4: Graca de una onda modulada

    En ciertas ocasiones es necesario visualizar la graca de una funcion de forma que sea unarepresentacion lo mas real posible, esto sucede cuando se desea trazar la gura de unaconica como la circunferencia o la elipse; para estos casos se requiere que a la vista los ejessean iguales. Se introduce entonces el comando isoview[x min,x max,y min,y max]. Cuan-do se usa plot2d en lugar de plot, se introduce entonces el argumento frameag=\4". Elejemplo 5, muestra como se ve una elipse que se traza mediante una ecuacion parametrica.

    Ejemplo 5. Trazar la elipsex2

    4+

    y2

    9= 1, mediante las ecuaciones parametricas x =

    2 cos(t) y y = 3 sin(t), en el intervalo 0 t 2.

    clf( )t=0:0.1:2*%pi;x=2*cos(t);y=-3*sin(t);plot(x,y,"thickness",2)xgrid

    34

  • xtitle("ELIPSE","EJE X","EJE Y")isoview(-3,3,-3,3) //Dimensiona los ejes para que se vean iguales

    El resultado es la gura 2.5.

    Figura 2.5: Dimensionamiento de los ejes con isoview para que se vean iguales

    2.3. Graca de dos funciones usando function... end-

    function

    Retomando el concepto de la seccion 1.5, sobre el uso de funciones con function. . . endfunction,y aplicandolo a gracas mas elaboradas, se presenta en la gura 2.6 del ejemplo 6 la gracade dos curvas identicadas con sus leyendas correspondientes.

    Ejemplo 6. Graca las curvas denidas por las funciones f(x) = (sin x)3 y g(x) =(cosx)3, usando function. . . endfunction.

    La graca de la gura 2.6, muestra dos funciones senoidales generadas mediante el codigode este ejemplo. Cada curva se ha identicado con una leyenda ubicada en la parte supe-rior derecha de la graca; el comando para la insercion de leyendas es legend(\leyenda

    35

  • 1", \leyenda 2").

    function senoidal=f(x); senoidal=(sin(x))^3; endfunctionx=0:0.1:2*%pi;plot(x,f,"thickness",3)function cosenoidal=g(x); cosenoidal=(cos(x))^3; endfunctionplot(x,g,"--r","thickness",3)xgridxtitle("Funcion","Parametro de entrada x","Parametro de Salida f(x)x")legend("sin(x)^3","cos(x)^3")

    Figura 2.6: Graca de dos funciones senoidales usando function: : : endfunction

    2.4. Comando Plot2D

    El comando plot es ampliamente usado para gracar un sin numero de funciones, el co-mando plot2d tiene propiedades que lo distinguen del comando plot, como se vera en laslneas siguientes. La forma de escribir el comando plot2d es:

    plot2d(x,y,

  • logag. Establece el tipo de escala en lineal o logartmica.

    style. Establece el estilo o forma en que la curva sera trazada.

    strf Controla el despliegue de ttulos o leyendas y permite la manipulacion delos ejes coordenados. Es una cadena de tres caracteres (en forma predeterminada\strf=081").

    leg. Establece los ttulos o leyendas. El valor que tienen asociado es una cadena decaracteres.

    rect. Fija los lmites de la graca. El valor asociado debe ser un vector real concuatro entradas [xmin, ymin, xmax, ymax].

    El estilo se establece mediante uno de dos numeros posibles, uno positivo para denircolores de lneas y otro negativo para denir el smbolo del trazo. La tabla 2.3 muestralos diferentes colores de la lnea de trazo de una graca, denido por el argumento sty-le=[(numero positivo o negativo)]. La tabla 2.4 es una gua para seleccionar diferentestipos de smbolos para modicar las caractersticas de una graca.

    Tabla 2.3: Color de lnea que corresponde al argumento style usado en el comando plot2d

    La aplicacion de los argumentos style, leg y rect se presenta en el ejemplo 7 que sigue.

    Ejemplo 7. Gracar la funcion y = xsin2x, usando el comando plot2d, agregando valorde estilo -4, leyenda y=xsen(x)^2 y lmites de marco de graca xmin=0, ymin=0, xmax=7y ymin=5.

    clf() x=0:0.1:2*%pi;y=x.*sin(x).^2;plot2d(x,y,style=[-4],leg="y=xsen(x)^2",rect=[0,0,7,5])xgridxtitle("Funcion trigonometrica usando el comando plot2d","Eje X","Eje Y")

    37

  • Tabla 2.4: Estilo de lnea de smbolos para el argumento style que se emplea en el comandoplot2d

    Argumento Tipo de Descripcionde estilo smbolo

    0 Punto-1 + Mas-2 Cruz de San Andres-3 Mas en crculo-4 Diamante negro-5 } Diamante blanco-6 r Nabla-7 Delta-8 | Trebol invertido-9 Letra O

    La graca generada por el codigo anterior se muestra en la gura 2.7. Usar plot2d comoen el ejemplo anterior implica que los smbolos que trazan la curva aparezcan solo en colornegro, lo que no representa inconveniente si consideramos que en ocasiones es sucientecon simplemente tener una forma practica y efectiva de diferenciar las gracas de distintasfunciones en un mismo plano.El argumento logag establece la escala de los ejes para el trazado de la curva como li-neal o logartmica con los siguientes valores posibles: nn, nl, ln y ll, donde l se usa paradesignar la escala logartmica y n la escala normal.

    strf se introduce con tres caracteres xyz, con los valores de x se puede visualizar o no lasleyendas, los valores de y permiten controlar el calculo de los rangos de los ejes coorde-nados y con z se controla la informacion del marco que rodea a la graca.

    El ejemplo 8 muestra la realizacion de una graca logaritmo-logaritmo para la funciony = x2 en dicha graca el eje de las ordenadas se encuentra a la derecha y no en x = 0.Mas adelante en la seccion de mejoras para la presentacion de gracas, se usara una va-riable para modicar la posicion de los ejes y podra compararse con el argumento strf.

    Ejemplo 8. Gracar la funcion y = x2 en escalas logaritmo-logaritmo en el intervalo0:1 x 5.

    clf( )x=0.1:0.1:5;y=x.^2;plot2d(x,y,logag="ll",style=[5],leg="y=x^2",strf="083")xgrid

    38

  • Figura 2.7: Graco de una funcion con ayuda del comando plot2d

    xtitle("Graca de y=x^2","Eje X","Eje Y")

    La graca de la gura 2.8 muestra el resultado.

    2.5. Mejoras para la presentacion de gracas.

    El comando gca( ) (get current axes) realza en forma sobresaliente las caractersticas deuna graca. Es necesario introducir despues del comando gca() variables de los elementosgracos que se van a modicar.

    2.5.1. Variable grid=[x,y]

    El comando gca(), interviene en el proceso de mejora de una graca, al introducir unavariable despues de las instrucciones que originan tal graca, por ejemplo, a, que se igualaa gca(), a=gca(), despues se anota a.variable a cambiar=valores.

    La variable grid=[x,y], permite modicar los colores de las proyecciones de las lneas verti-cales y horizontales de la rejilla. La forma de hacerlo se presenta en el ejemplo 9 que sigue.

    Ejemplo 9. Dibujar la graca de la funcion y = cos(x2), en el intervalo 0 < x < 2(gura 2.9) y cambiar el color de las lneas verticales y horizontales de la rejilla, a ma-genta y verde, respetivamente.

    39

  • Figura 2.8: Graca logaritmo-logaritmo de la funcion y = x2, con el eje y al lado derecho

    clf()x=-5:0.1:5;y=-cos(x.^2);plot2d(x,y)a=gca();a.grid=[6,3];

    Aunque en el ejemplo anterior se aplico la variable a.grid=[a,b] junto con el comandoplot2d, tambien es posible hacerlo con plot. Se recomiendo hacer la prueba.

    2.5.2. Variable font style y font size para edicion de tipo y ta-ma~no de texto

    Hasta ahora hemos visualizado gracas con una presentacion aceptable, sin embargo, losttulos de la graca y de los ejes as como los valores de la escala no son del tama~noadecuado para verlos sin esfuerzo. Para mejorar la presentacion de los ttulos se puedemodicar tanto el estilo como el tama~no de estos. Para hacer las modicaciones se recurrea las variables font style=numero y font size=numero que se usan junto con xtitle.

    La tabla 2.5 muestra la relacion entre el numero de fuente que se ingresa a la variablefont style y el tipo de fuente disponible.

    40

  • Figura 2.9: Modicacion de color de las lneas de la rejilla

    El tama~no de la fuente es un factor importante al momento de elaborar y presentar gra-cas. La forma de denir el tama~no de la fuente se hace mediante el uso de la variablefont size=numero. El tama~no de la fuente de Scilab es diferente al tama~no de la fuentede Java. La tabla 2.6 presenta esta relacion.

    A traves del ejemplo 9, se ilustra la creacion de gracas con textos mas grandes en losttulos de graca y de ejes, as como en la numeracion de cada eje coordenado. Tambiense puede cambiar el estilo del texto.

    Ejemplo 10. Repite la graca del ejemplo 9, cambiando el tama~no y tipo de texto paralos ttulos de graca y ejes. Cambia el color, tipo y tama~no de texto para la numeracionde los ejes coordenados.

    No se especica ni el estilo ni el tama~no del texto, por lo que arbitrariamente se seleccionade la tabla 2.5 el estilo de texto 5 y de la tabla ?? el tama~no de texto 6. Para el tama~node texto se selecciona el numero 6 y para el color de la tabla 2.3 se escoge el color rojoque corresponde al numero 5.

    clf()x=0:0.01:2*%pi;y=-cos(x.^2);plot2d(x,y)xtitle("Funcion f(x)=cos(x^2)","Eje X","Eje Y")a=gca();a.grid=[6,3];//Rejilla. Lneas verticales magenta y horizontales verdes

    41

  • Tabla 2.5: Relacion de numero y tipo de fuente para ttulos de gracasNumero de fuente Tipo de fuente Negrita Italica

    0 Monospaced No No1 ScilabSymbols No No2 Serif No No3 Serif No S4 Serif S No5 Serif S S6 SansSerif No No7 SansSerif No S8 SansSerif S No9 SansSerif S S10 SansSerif S S

    Tabla 2.6: Relacion de tamade fuente de Scilab y JavaScilab Size Java Size

    0 81 102 123 144 185 246 307 368 429 4810 54

    a.title.font_style=5;//Estilo de fuente del ttuloa.title.font_size=6;//Tama~no de fuente del ttuloa.labels_font_style=5;//Estilo de fuente en numeros de marcadores en los ejesa.labels_font_size=6; //Tama~no de numeros de marcadores en los ejesa.labels_font_color=5;//Color de numeros de marcadores en los ejesa.x_label.font_style=5;//Estilo de fuente de leyenda del eje Xa.x_label.font_size=6;//Tama~no de fuente de leyenda del eje Xa.y_label.font_style=5;//Estilo de fuente de leyenda del eje Ya.y_label.font_size=6;//Tama~no de fuente de leyenda del eje Y

    Aunque no es lo usual, con el codigo anterior se pretende resaltar en la graca de la gura2.10 los cambios realizados.

    42

  • Figura 2.10: Modicacion de estilo y tama~no de texto de ttulos de una graca

    2.5.3. Variable log ags para gracas logartmicas

    Las escalas logartmicas son escalas de medida de cantidades fsicas. Se emplean cuandolos datos que se presentan en una graca de coordenadas rectangulares estan en un rangomuy amplio, as que la escala logartmica facilita su visualizacion comprension.

    Algunos ejemplos reconocidos en la ciencia y en la ingeniera corresponden a la escalaRichter para medir la intensidad de un terremoto y el diagrama de Moody para la de-terminacion del numero de Reynolds, diagrama de factor de compresibilidad de gases,diagrama de viscosidad de lubricantes, diagramas de presion entalpa para los refrigeran-tes, entre otras aplicaciones.

    Mediante la variable log ags y el comando gca( ) se trazan gracas logartmicas en formapractica y sencilla, ya sea en conjunto con el comando plot o con el comando plot2d, comola que se muestra en la gura 2.11 generada en el ejemplo 11.

    Ejemplo 11. Traza la graca de la funcion f(x) = x3 en escala logaritmo-normal.

    En este ejemplo la graca se presenta con la formalidad debida en cuanto a textos sereere y aplicando la variable log-ags.clf()x=0.1:0.01:4;y=x.^3;plot2d(x,y)xtitle("Funcion f(x)=x^3","Eje X","Eje Y")

    43

  • xgrida=gca();a.log ags="ln";a.title.font size=6;//Tama~no de fuente del ttuloa.labels font size=5;//Tama~no de numeros de marcadores en los ejesa.x label.font size=5;//Tama~no de fuente de leyenda del eje Xa.y label.font size=5;//Tama~no de fuente de leyenda del eje Y

    Figura 2.11: Graca logaritmo-normal

    2.5.4. Variable x location y y location para posicionamiento delos ejes

    Mejorar la apariencia de las gracas para una mejor comprension puede requerir de re-localizar los ejes coordenados. A traves del comando gca() y las variables x location=\posicion" y y location= \posicion" es posible lograrlo de forma simple. Los valores posi-bles para ambos ejes son:

    x location

    bottom. El eje se dibuja en la parte inferior de la graca.top. El eje se dibuja en la parte superior de la graca.middle. El eje se dibuja en la posicion central.

    44

  • origin. El eje se dibuja en el origen.

    y location

    left. El eje se dibuja a la izquierda de la graca.right. El eje se dibuja a la derecha de la graca.middle. El eje se dibuja en la posicion central.origin. El eje se dibuja en el origen.

    En el ejemplo 12, ademas de introducir el posicionamiento de los ejes, tambien se haceuso de la escritura con LATEX, al introducir el texto "$Funci\'on; f(x)=\cos^{3}{x}$"en el ttulo de la graca.

    Ejemplo 12. Traza la graca de la funcion f(x) = x3 en el intervalo 2 x 2,con los ejes posicionados en medio.clf()x=-2*%pi:0.01:2*%pi;y=sin(x.^2);plot2d(x,y,style=[5])xtitle("$Funci\'on\;f(x)=\cos^{3}{x}$","Eje X","Eje Y") xgrida=gca();a.title.font size=6;//Tama~no de fuente del ttuloa.labels font size=4;a.x label.font size=4;//Tama~no de fuente de leyenda del eje Xa.y label.font size=4;//Tama~no de fuente de leyenda del eje Ya.x location="middle";a.y location="middle";

    El resultado esta en la graca de la gura 2.12

    2.5.5. Comando xstring para agregar leyendas a la graca

    El comando xstring permite agregar texto en modo de leyenda para facilitar la compren-sion de la graca. La notacion se escribe como sigue: xstring(x,y,[\texto"],angulo,recuadro).Las coordenadas donde se ja la leyenda se establecen con x y y, el angulo del texto seescribe en grados sexagesimales y la aparicion de un recuadro alrededor del texto se lograasignando 0 o 1, segun se requiera (ver ejemplo 13).

    Ejemplo 13. Usa xstring para agregar la leyenda \Primer Leyenda.en dos renglones, en

    la graca de la funciony = sin x2

    x(ver gura 2.13), en el intervalo 3 x 3.

    45

  • Figura 2.12: Posicionamiento de ejes

    Como x se halla tambien en el denominador, con ieee(2) Scilab ja el punto otanteactual en modo de excepcion para producir el resultado Inf o NaN. De esta forma nodevuelve como resultado un error debido a la division por cero.

    Las opciones posibles para ieee(mod) son 0, 1 y 2. 0 produce un resultado de error y 1produce una advertencia. Inicialmente ieee(mod) esta en 0.

    clf()ieee(2)x=-3:0.01:3;y=sin(x.^2)./x;plot2d(x,y)xtitle("$f(x)=\frac{\sin(x^2)}{x}$","Eje X","Eje Y")xgrida=gca();a.title.font size=4;//Tama~no de fuente del ttuloa.labels font size=4;a.x label.font size=4;//Tama~no de fuente de leyenda del eje Xa.y label.font size=4;//Tama~no de fuente de leyenda del eje Yxstring(1,0,["Primer";"Leyenda"],0,1)

    46

  • Figura 2.13: Colocacion de una leyenda en la graca de una funcion

    2.5.6. Gracas con plot2d# y subplot

    Con plot2d# se puede presentar de diferentes formas la graca de una misma funcion, enel ejemplo 14 se aplicara el comando subplot que tiene el proposito de presentar gracasdiferentes (gura 2.14) en una misma ventana.

    Ejemplo 14. Graca la funcion y = 4x2 + 10x+ 9 aplicando el comando subplot paraplot2d1, plot2d2, plot2d3 y plot2d4.

    Cada graca trazada con plot2d# tiene una caracterstica que la distingue.

    plot2d1. Las gracas son las usuales, con lnea continua.

    plot2d2. Las gracas se representan en forma de escalon.

    plot2d3. La representacion es en forma de histograma.

    plot2d4. Las gracas se muestran con echas o vectores.

    clf()x=0:0.1:3.5;y=-4*x.^2+10*x+9;subplot(221)plot2d1(x,y)//graca de lnea continuaxtitle('Lnea continua. plot2d1')

    47

  • a=gca();a.title.font_size=4;subplot(222)plot2d2(x,y)//graca escalonxtitle('Forma de escalon. plot2d2')a=gca();a.title.font_size=4;subplot(223)plot2d3(x,y)//graca histogramaxtitle('Forma de histograma. plot2d3')a=gca();a.title.font_size=4;subplot(224)plot2d4(x,y)//graca de echas o vectoresxtitle('Forma de echas. plot2d4')a=gca();a.title.font_size=4;

    Figura 2.14: Gracas de la funcion y = 4x2 + 10x + 9 usando el comando subplot yplot2d#.

    48

  • 2.5.7. Gracas de vectores con plot2d4

    Es posible trazar uno o varios vectores en un plano coordenado mediante el comandoplot2d4. Se comienza con el trazado de un solo vector, tal como se muestra en el ejemplo15, en el cual el vector a trazar se halla en la forma de combinacion lineal de los vectoresunitarios i y j, con sus coecientes representando los componentes escalares del vector encuestion.

    Ejemplo 15. Traza el vector vvv = (4iii+ 3jjj) con plot2d4.

    Es importante considerar que el vector se trazara desde el origen, por lo que se crean 2vectores, vxvxvx = [0; 4] y vyvyvy = [0; 5]. El codigo siguiente se introduce para obtener la gracade la gura 2.15.

    vx=[0,4]; //Coordenadas en el eje Xvy=[0,5]; //Coordenadas en el eje Yplot2d4(vx,vy,rect=[-1,-1,5,6])xgridxtitle("Graca del vector v=4i+3j", "Eje X", "Eje Y")a=gca();a.title.font size=6;a.labels font size=5;a.x label.font size=5;a.y label.font size=5;a.x location="origin";a.y location="origin ";

    Figura 2.15: Graca de un solo vector vvv = 4iii+ 5jjj

    49

  • Para trazar varios vectores se recurre a generar vectores columna que serviran para generarnuevas matrices, como se muestra en el ejemplo 16.

    Ejemplo 16. Dados los vectores aaa = [4; 3], bbb = [3; 5], halla ccc = aaa + bbb, y graca los tresvectores.

    Escribiendo aaa y bbb como una combinacion lineal de los vectores unitarios iii y jjj, tenemosque c = (4i+ 3j) + (3i+ 5j) = 7i+ 8j. El codigo en Scilab para realizar la graca es

    ax=[0;4];bx=[4;7];bxorigen=[0;3];cx=[ax+bxorigen];ay=[0;3];by=[3;8];byorigen=[0;5];cy=[ay+byorigen];x=[ax,bx,cx]; //Matriz de valores en Xy=[ay,by,cy]; //Matriz de valores en Yplot2d4(x,y)xgridxtitle("Suma de vectores","Eje X","Eje Y")a=gca();a.title.font size=6;a.labels font size=5;a.x label.font size=5;a.y label.font size=5;

    2.5.8. Gracas en coordenadas polares. Comando polarplot

    Las coordenadas polares se denen con un radio vector rrr llamado el eje polar y un angulo. Las gracas polares son gracas circulares. En Scilab se graca una curva en coordena-das polares al introducir el comando polarplot(radio,angulo). El ejemplo 17 pone en claroel concepto de graca en coordenadas polares. El resultado se ve en la gura 2.17.

    Ejemplo 17. Traza la espiral de Arqumedes rrr = 2, para 4 4.

    theta=-4*%pi:0.1:4*%pi;r=theta;polarplot(r,theta,style=[5],strf="130",leg="Espiral")xtitle("Espiral de Arqumedes")a=gca();a.title.font size=5;

    50

  • Figura 2.16: Graca de la suma de 2 vectores

    2.5.9. Gracas de funciones vectoriales. Comando comet

    Mediante una funcion vectorial en el plano, se puede observar el movimiento, por ejemplo,el lanzamiento de un objeto en un sistema de coordenadas rectangulares, en un caso comoeste, se usa el comando comet(vector x, vector y). En el ejemplo 18 se presenta una espiraltrazada con comet. En la gura 2.18 se ve que la curva tiene en uno de los extremos elsmbolo , el cual indica el nal de la trayectoria.

    Ejemplo 18. Traza la graca de la funcion vectorial r(t)r(t)r(t) = t sin(t) iii + t cos(t) jjj usandoel comando comet.

    Usando ecuaciones parametricas, hacemos x(t) = t sin(t) y y(t) = t cos(t).clf()t=0:0.1:2*%pi;x=t.*sin(t);y=t.*cos(t);comet(x,y,"colors",5)set(gca(),"isoview","on"); //hace que los ejes sean iguales.xgridxtitle("Graca de una funcion vectorial en el plano","Eje X","Eje Y")a=gca();a.title.font size=4;a.labels font size=4;a.x label.font size=4;a.y label.font size=4;a.z label.font size=4;

    51

  • Figura 2.17: Coordenadas polares. Espiral de Arqumedes

    52

  • Figura 2.18: Graca de una funcion vectorial en el plano, usando comet

    53

  • 54

  • CAPITULO 3

    Gracas de funciones de 2 y 3variables

    3.1. Comando plot3d

    Representar una graca en tres dimensiones o 3D, de funciones de dos y tres variablesmanualmente es un trabajo difcil de realizar, puede consumir mucho tiempo y al mismotiempo ser tedioso. Un medio numerico de computacion facilita enormemente el trabajoy permite observar y apreciar en detalle la graca, lo que posibilita un mejor analisis.

    El comando plot3d, en forma similar al comando plot2d tiene varias opciones para generargracas, las variaciones se distinguen como plot3d1, plot3d2 y plot3d3. Mas adelante seanalizara cada comando, por ahora, se utilizara para gracar supercies denidas por fun-ciones de dos variables. Para tal caso, se introducen primero los intervalos de las variablesindependientes denidos por los vectores x y y, por ejemplo. La funcion z, se introducede tal forma que se forme una matriz o retcula en el plano x y, en tal caso se debegenerar la transpuesta de x o y, como se vera en el ejemplo 19. Se escribe luego el comandoplot3d(x,y,f(x,y)). Finalmente, se agregan los argumentos y propiedades que haran que lagraca tenga una adecuada presentacion.

    Ejemplo 19. Graca la funcion z = yx2, denida en 5 < x < 5 y 5 < y < 5. Tantox como y deben tener el mismo tama~no.

    Con el conocimiento obtenido en los captulos previos sobre la forma de presentar ade-cuadamente una graca, sera mas facil entender como elaborar gracas 3D. Al codigosiguiente se le ha agregado ttulo, rejilla y tama~no de fuente. En la lnea en la que se haescrito la funcion, se observa que el vector x2 se multiplica por la transpuesta del vectory. En la graca que se muestra en la gura 3.1 se aprecia el resultado obtenido.

    x=-5:0.1:5;y=x;

    55

  • z=y'*(x.^2);plot3d(x,y,z)xgridxtitle("primera graca en 3D","Eje x","Eje y","Eje z")a=gca();a.title.font size=4;a.labels font size=4;a.x label.font size=4;a.y label.font size=4;a.z label.font size=4;

    El cono situado en la parte superior izquierda de la barra de conos de la ventana graca(al poner el cursor encima aparece la palabra rotar), sirve para rotar la graca y as te-ner una mejor perspectiva. El cono situado a su derecha permite acercamientos en areas(aparecen las palabras Acercar Area) reducidas de la graca. El cono en forma de lupacon un numero 1, restablece la vista original de la graca.

    Figura 3.1: Graca de la funcion z = yx2, usando el comando plot3d

    3.1.1. Comando plot3d1

    El comando plot3d1 es similar a plot3d en cuanto a que ambas opciones se usan paratrazar supercies. Con plot3d1 se a~naden colores que dieren en tonalidad dependiendodel nivel z de la supercie (ver ejemplo 20).

    56

  • Ejemplo 20. Graca la funcion y = xy, empleando plot3d1.

    Se graca de forma similar a plot3d, aunque el resultado es distinto en cuanto a la dis-tincion de los colores.

    clf()x=-5:0.1:5;y=x;z=x'*y;plot3d1(x,y,z)xgridxtitle(\Graca con plot3d1",\Eje x",\Eje y",\Eje z")a=gca();a.title.font size=4;a.labels font size=4;a.x label.font size=4;a.y label.font size=4;a.z label.font size=4;

    El resultado se muestra en la graca de la gura 3.2.

    Los colores empleados por denicion al usar plot3d1 son vistosos y pueden cambiarsepara hacer que la imagen sea adecuada al proposito que se especique. Al codigo anteriorhay que agregar la lnea xset(\colormap",jetcolormap(32)) para ver en la gura 3.3 comocambia el color de forma gradual; para valores de zeta por debajo de 0 tienden al tono azuly para los mayores a 0 tienden al rojo. Por otro lado, la resolucion de la graca se mejora.La tabla 3.1 muestra una variedad de mapas de color disponibles (\colormap",opcion decolormap(numero)).

    3.1.2. Comando plot3d2

    Es similar a plot3d1, pero en el caso de plot3d2 (ejemplo 21) se generan tres matrices X,Y y Z que describen una supercie. La supercie se compone de polgonos de cuatro lados.

    Ejemplo 21. Trazar la graca de supercie denida por la funcion Z = X2 + Y 2 en losintervalos siguientes: 2 < x < 2 y 2 < y < 2.

    Se trata del trazo de un segmento de esfera. Cada nivel de Z se puede pensar como unacircunferencia (ver gura 3.4).

    clf()x=-2:0.1:2;long=length(x); //Longitud del vector x

    57

  • Figura 3.2: Graca de supercie de la funcion z = xy con plot3d1

    X=x'*ones(1,long); //Matriz XY=X'; //Matriz YZ=X.^2+Y.^2;//Matriz Zplot3d2(X,Y,Z)xgridxtitle(\Graca plot3d2",\Eje x",\Eje y",\Eje z")a=gca();a.title.font size=4;a.labels font size=4;a.x label.font size=4;a.y label.font size=4;a.z label.font size=4;

    3.1.3. Comando plot3d3

    Al igual que plot3d2, con plot3d3(matriz X,matriz Y, matrizZ) tambien se puede trazaruna supercie formada por facetas rectangulares, que tienen la propiedad de observarsecomo una supercie alambrica (ver ejemplo 22 y gura 3.5).

    Ejemplo 22. Traza la graca de la supercie del ejemplo 21 usando el comando plot3d3.

    58

  • Figura 3.3: Misma graca de la gura 3.2, a la que se le cambio el color con la gamajetcolormap

    clf()x=-2:0.1:2;long=length(x); //Longitud del vector xX=x'*ones(1,long); //Matriz XY=X'; //Matriz YZ=X.^2+Y.^2; //Matriz Zplot3d3(X,Y,Z)xgridxtitle(\Graca plot3d3",\Eje x",\Eje y",\Eje z")xset(\colormap",coolcolormap(32))a=gca();a.title.font size=4;a.labels font size=4;a.x label.font size=4;a.y label.font size=4;a.z label.font size=4;

    59

  • Tabla 3.1: Opciones de colormap para gracas 3DMapa de colores Gama

    autumncolormap De rojo a amarillo, pasando por naranja.bonecolormap Gris con tonalidad azulcoolcolormap Del cian al magentacoppercolormap De negro a una leve tonalidad cobrizagraycolormap Tonalidad grishotcolormap De rojo a amarillohsvcolormap Saturacion de tonalidadesjetcolormap De azul a rojooceancolormap Tonalidad azulpinkcolormap Tonalidad sepiarainbowcolormap De rojo a violeta pasando por naranja, amarillo, verde y azulspringcolormap De magenta a amarillosummercolormap De verde a amarillowhitecolormap Totalmente blancowintercolormap De azul a verde.

    3.2. Ecuaciones parametricas en el espacio. Comando

    param3d

    Hasta ahora se han analizado curvas en el plano, en coordenadas rectangulares y polares;posteriormente se ha abordado el tema de las supercies en el espacio. Toca el turno delas curvas parametricas en el espacio.

    El trazado de tales curvas se realiza con el comando param3d(vector x, vector y, vectorz,[argumentos]). Las entradas de los vectores xxx, yyy y zzz, se crean mediante funciones quedependen de otro vector ttt llamado parametro. En el ejemplo 23, se traza una curva similara un resorte. Se ha girado la graca con respecto a la horizontal a un angulo de 225, paraque los valores de la graca de y y de x se coloquen a la izquierda y derecha de la imagenrespectivamente.

    Ejemplo 23. Trazar la curva (gura 3.6) de la funcion parametrica w(t) = x(t) + y(t) + z(t)en el intervalo 0 t 4. Donde x(t) = 4 cos(t), y(t) = 4 sin(t) y z(t) = t.t=0:0.1:4*%pi;x=4*cos(t);y=4*sin(t);z=t;param3d(x,y,z,(225))xtitle(\Graca de una ecuacion parametrica en el espacio",\Eje X",\Eje Y",\Eje Z")a=gca();a.title.font size=4;

    60

  • Figura 3.4: Graca realizada mediante plot3d2 de la supercie denida por la funcionZ = X2 + Y 2

    a.labels font size=4;a.x label.font size=4;a.y label.font size=4;a.z label.font size=4;

    3.3. Funciones vectoriales en el espacio con comet3d

    Scilab cuenta con un comando que permite gracar funciones vectoriales en el espacio. Elcomando comet3d(vector x, vector y, vector z) permite observar la animacion del trazadode la curva, siguiendo la trayectoria de uno de sus extremos que tiene la forma \". En laFigura 3.7, del Ejemplo 24, se ve que la curva tiene en uno de los extremos el mencionadosmbolo.

    Ejemplo 24. Trazar la curva de la funcion vectorial r(t) = x(t)iii + y(t)jjj + z(t)kkk en elintervalo 0 t 4. Donde x(t) = 4 cos t, y(t) = 4 sin t y z(t) = t.t=0:0.1:4*%pi;x=4*cos(t);y=4*sin(t);z=t;comet3d(x,y,z,\color",5)xtitle(\Graca de una funcion vectorial con comet3d",\Eje X",\Eje Y",\Eje Z")

    61

  • Figura 3.5: Graca realizada mediante plot3d3 de la supercie denida por la funcionZ = X2 + Y 2

    a=gca();a.title.font size=5;a.labels font size=5;a.x label.font size=5;a.y label.font size=5;a.z label.font size=5;

    3.4. Graca de una supercie con el comando mesh

    Mediante el comando mesh(matriz X, matriz Y, matriz Z) se traza una supercie pa-rametrica usando una retcula rectangular de coordenadas denida por el par de vectoresxxx y yyy. Con plot3d y plot3d# se han generado matrices mediante la transpuesta de uno delos vectores. Ahora, en combinacion con el comando mesh(matriz X, matriz Y, matriz Z),para crear gracas de supercies se usara otra opcion para generar matrices, se trata de lameshgrid, usado de esta forma: [matriz X, matriz Y, matriz Z]=meshgrid(vector x, vectory, vector z). El Ejemplo 25, muestra el codigo para generar una graca de supercie conel comando mesh.

    Ejemplo 25. Trazar la graca de la funcion f(x; y) =1

    2sin (x2 + y2) usando el comando

    mesh (ver el resultado en la Figura 3.8).

    62

  • Figura 3.6: Trazado de la funcion parametrica vectorial w(t) = x(t) + y(t) + z(t), dondex(t) = 4 cos(t), y(t) = 4 sin(t) y z(t) = t

    clf()x=-2:0.1:2;y=x;[X,Y]=meshgrid(x,y);Z=1/2*sin(X.^2+Y.^2);mesh(X,Y,Z),xgridxtitle(\Graca de una funcion de dos variables usando mesh",\Eje X",\Eje Y",\Eje Z");a=gca();a.title.font size=5;a.labels font size=4;a.x label.font size=5;a.y label.font size=5;a.z label.font size=5;

    3.5. Graca de supercie con el comando surf

    En el Ejemplo 26, se trazan dos gracas de supercie tomadas del Ejemplo 21, pero usandolos comandos surf y meshgrid. Ademas, se hara en dos ventanas diferentes, llamadasVentana de graco numero 0 (ver Figura 3.9) y Ventana de graco numero 1 (ver Figura3.10). Esta accion se realiza usando la macro scf(numero) que signica set the current

    63

  • Figura 3.7: Trazado de la funcion vectorial r(t)r(t)r(t) = x(t)iii+y(t)jjj+z(t)kkk, donde x(t) = 4 cos t,y(t) = 4 sin t y z(t) = t, usando el comando comet3d.

    graphic gure (jar la gura graca actual). Mediante la funcion xset, se ha cambiado elmapeo de color para diferenciar ambas guras.

    Ejemplo 26. Trazar la graca de supercie denida por la funcion z = x2 + y2 en losintervalos siguientes: 2 x 2 y 2 y 2, usando meshgrid.

    scf(0); //crea una gura con id==0 que aparece en la ventana 0.x=-2:0.1:2;y=x;[X,Y]=meshgrid(x,y);Z=X.^2+Y.^2; //Matriz Z.surf(X,Y,Z)xgridxtitle(\Graca plot3d2",\Eje x",\Eje y",\Eje z")xset(\colormap",jetcolormap(20))a=gca();a.title.font size=5;a.labels font size=5;a.x label.font size=5;a.y label.font size=5;a.z label.font size=5;

    64

  • Figura 3.8: Trazado de la funcion f(x; y) =1

    2sin (x2 + y2) usando el comando mesh

    scf(1); //crea una gura con id==1 que aparece en una la nueva ventana 1.x=-2:0.1:2;y=x;[X,Y]=meshgrid(x,y);Z=X.^2+Y.^2; //Matriz Z.surf(X,Y,Z)xgridxtitle(\Graca plot3d2",\Eje x",\Eje y",\Eje z")xset(\colormap",jetcolormap(32))a=gca();a.title.font size=5;a.labels font size=5;a.x label.font size=5;a.y label.font size=5;a.z label.font size=5;

    65

  • Figura 3.9: Graca de supercie, de la ventana de graco numero 0 del Ejemplo 26

    Figura 3.10: Graca de supercie, de la ventana de graco numero 1 del Ejemplo 26

    66

    Introduccin.Nociones preliminares. Uso de la consola en Scilab.Acerca de ScilabDescarga e InstalacinUso de la consola de ScilabScilab como calculadora. Variable predeterminada ansComandos clc y clearAyuda en ScilabCaracteres reservados para ScilabComando formatVariablesFunciones trigonomtricasFunciones exponenciales y logartmicasVectores y matricesOperaciones con vectoresOperaciones con matricesSolucin de sistema de ecuaciones lineales

    Grficas en consola de ScilabFuncionesEl guin en Scilab. Introduccin a SciNotes

    Grficas 2DGrficas 2D bsicasComando plotGrfica de dos funciones usando function... endfunctionComando Plot2DMejoras para la presentacin de grficas.Variable grid=[x,y]Variable font_style y font_size para edicin de tipo y tamao de textoVariable log_flags para grficas logartmicasVariable x_location y y_location para posicionamiento de los ejesComando xstring para agregar leyendas a la grficaGrficas con plot2d# y subplotGrficas de vectores con plot2d4Grficas en coordenadas polares. Comando polarplotGrficas de funciones vectoriales. Comando comet

    Grficas de funciones de 2 y 3 variablesComando plot3dComando plot3d1Comando plot3d2Comando plot3d3

    Ecuaciones paramtricas en el espacio. Comando param3dFunciones vectoriales en el espacio con comet3dGrfica de una superficie con el comando meshGrfica de superficie con el comando surf