Está en la página 1de 72

SCILAB CON APLICACIONES EN INGENIER IA V1.

Instituto Tecnol ogico Superior del Oriente del Estado de Hidalgo Divisi on de Ingenier a en Log stica Docentes Jaime Alberto Zaragoza Hern andez. Claudia S anchez Garc a Alumnas Teresa Olvera Santader Celina Evelyn Hern andez G omez 18 de octubre de 2012

A Este manual ha sido elaborado con L T ogico Superior del Oriente del Estado de Hidalgo. ITESA, EX en el Instituto Tecnol

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
Introducci on. 1. Nociones preliminares. Uso de la consola en Scilab. 1.1. Acerca de Scilab . . . . . . . . . . . . . . . . . . . . . . . . . 1.2. Descarga e Instalaci on . . . . . . . . . . . . . . . . . . . . . . 1.3. Uso de la consola de Scilab . . . . . . . . . . . . . . . . . . . . 1.3.1. Scilab como calculadora. Variable predeterminada ans 1.3.2. Comandos clc y clear . . . . . . . . . . . . . . . . . . . 1.3.3. Ayuda en Scilab . . . . . . . . . . . . . . . . . . . . . . 1.3.4. Caracteres reservados para Scilab . . . . . . . . . . . . 1.3.5. Comando format . . . . . . . . . . . . . . . . . . . . . 1.3.6. Variables . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3.7. Funciones trigonom etricas . . . . . . . . . . . . . . . . 1.3.8. Funciones exponenciales y logar tmicas . . . . . . . . . 1.3.9. Vectores y matrices . . . . . . . . . . . . . . . . . . . . 1.3.10. Operaciones con vectores . . . . . . . . . . . . . . . . . 1.3.11. Operaciones con matrices . . . . . . . . . . . . . . . . 1.3.12. Soluci on de sistema de ecuaciones lineales . . . . . . . 1.4. Gr acas en consola de Scilab . . . . . . . . . . . . . . . . . . . 1.5. Funciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.6. El gui on en Scilab. Introducci on a SciNotes . . . . . . . . . . .
V

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

1 1 2 3 3 5 5 6 8 9 10 12 13 13 17 21 22 22 24 29 29 29 35 36 39 39 40 43 44 45 47

2. Gr acas 2D 2.1. Gr acas 2D b asicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2. Comando plot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3. Gr aca de dos funciones usando function... endfunction . . . . . . . . . . . 2.4. Comando Plot2D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.5. Mejoras para la presentaci on de gr acas. . . . . . . . . . . . . . . . . . . . 2.5.1. Variable grid=[x,y] . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.5.2. Variable font style y font size para edici on de tipo y tama no de texto 2.5.3. Variable log ags para gr acas logar tmicas . . . . . . . . . . . . . 2.5.4. Variable x location y y location para posicionamiento de los ejes . . 2.5.5. Comando xstring para agregar leyendas a la gr aca . . . . . . . . . 2.5.6. Gr acas con plot2d# y subplot . . . . . . . . . . . . . . . . . . . . iii

2.5.7. Gr acas de vectores con plot2d4 . . . . . . . . . . . . . . . . . . . . 49 2.5.8. Gr acas en coordenadas polares. Comando polarplot . . . . . . . . 50 2.5.9. Gr acas de funciones vectoriales. Comando comet . . . . . . . . . . 51 3. Gr acas de funciones de 2 y 3 variables 3.1. Comando plot3d . . . . . . . . . . . . . . . . . . 3.1.1. Comando plot3d1 . . . . . . . . . . . . . 3.1.2. Comando plot3d2 . . . . . . . . . . . . . 3.1.3. Comando plot3d3 . . . . . . . . . . . . . 3.2. Ecuaciones param etricas en el espacio. Comando 3.3. Funciones vectoriales en el espacio con comet3d 3.4. Gr aca de una supercie con el comando mesh . 3.5. Gr aca de supercie con el comando surf . . . . 55 55 56 57 58 60 61 62 63

. . . . . . . . . . . . . . . . . . . . . . . . param3d . . . . . . . . . . . . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

iv

Introducci on.
Se presenta al lector este modesto texto de Scilab en el que encontrar a tanto, informaci on elemental para iniciarse en el uso y aplicaci on del mismo, como aplicaciones a temas de ingenier a desde el punto de vista de ejemplos estructurados de libros de texto de nivel superior. Los ejemplos de aplicaci on a la ingenier a y los problemas sin resolver se han seleccionado para el an alisis, con la intenci on de que el lector se percate de la importancia del uso de software de computaci on num erica en el proceso de entender, analizar y plantear soluciones que van m as all a de la pr actica procedimental. Los tres primeros cap tulos corresponden a una introducci on b asica a Scilab y SciNotes as como a los procedimientos para elaborar gr acas en el plano y tridimensionales. En el primer cap tulo se presenta el uso de la consola a trav es del empleo de Scilab como una poderosa calculadora, luego se muestra la aplicaci on en arreglos, es decir, de vectores y matrices, posteriormente se introduce la manera en que se pueden realizar gr acas simples. Finalmente y de manera muy breve se introduce al lector en el uso de SciNotes, que en cap tulos posteriores se usar a extensamente. El segundo cap tulo lleva de forma gradual al lector a la elaboraci on y presentaci on adecuada de gr acas. Se le presentan opciones y se avanza de a poco, hasta que logra acceder a una serie de procedimientos que le permiten elaborar gr acas de estupenda presentaci on y que por supuesto, tienen la nalidad de ayudar en la soluci on de problemas que aparecen en la mayor a de las asignaturas de ciencias e ingenier a. El cap tulo tres, en el que se elaboran gr acas en 3D, es fundamento visual para el c alculo multivariable y de ciertos casos de la programaci on no lineal. Los cap tulos 4 a 11 tratan una serie de ejemplos y ejercicios de aplicaci on a la ingenier a que se encuentran com unmente en la mayor a de textos referentes de cada tema. El cap tulo 4 presenta del algebra, las operaciones algebraicas polin omicas, obtenci on de ra ces de un polinomio, el proceso inverso que es la obtenci on del polinomio a partir de las ra ces, gracas de funciones de ejemplos de aplicaci on. En el cap tulo 5 y 6 se presenta a la geometr a anal tica y al c alculo diferencial desde la perspectiva de modelaci on, hallando soluciones tanto num ericas como gr acas, por supuesto, no se deja a un lado el aspecto anal tico. El c alculo integral y sus aplicaciones se encuentran en el cap tulo 7, se destaca el uso de gr acas y la integraci on num erica, pues la simb olica es una carencia que se tiene en Scilab (existen otros software gratuitos que cumplen muy bien con esta funci on, como wxMaxima http://andrejv.github.com/wxmaxima/). El c alculo multivariable se aborda v

en el cap tulo 9, donde se realza la importancia de las aplicaciones en modelos de optimizaci on. El algebra lineal, fundamento matem atico de Scilab, se trata en el cap tulo 8. El tan temido tema de las ecuaciones diferenciales por parte de los alumnos, se presenta con aplicaciones al modelado, y se revisa en el cap tulo 10. Finalmente, una aplicaci on por dem as interesante se presenta en el cap tulo 11, se trata de la probabilidad y estad stica, rama de las matem aticas de aplicaci on en gran cantidad de actividades humanas. En espera de que este texto resulte de utilidad para alumnos y maestros, que siendo o no seguidores del software libre y gratuito, consideren dentro para sus asignaturas el uso de Scilab como una alternativa viable y amena. Enero 2012

vi

CAP ITULO 1 Nociones preliminares. Uso de la consola en Scilab.


1.1. Acerca de Scilab

Scilab es un software libre y de c odigo abierto de computaci on num erica, que se usa en R aplicaciones cient cas y de ingenier a. Es similar a MATLAB en presentaci on y manejo, R por lo que Scilab es una extraordinaria alternativa al costoso software de MathWorks . Scilab es empleado en areas tales como: Aeroespacial. Automotriz. Energ a Defensa Financiera. Qu mica. Biolog a. F sica. Medicina.
R R Scilab es multiplataforma, puede instalarse y ejecutarse en Windows , Mac , o Linux, lo que potencializa su uso.

El software puede ser descargado de la p agina de internet http://www.scilab.org e instalarse en los sistemas operativos GNU/Linux, Mac OS X 10.6 y Windows XP/Vista/Seven. De la misma p agina es posible descargar documentaci on relativa a la instalaci on y operaci on del software; existen tutoriales en idioma ingl es y franc es. En la misma p agina, en 1

la direcci on de internet http://www.scilab.org/products/scilab/history2 puede leerse la historia del software, que entre otras cosas relata su origen en los a nos 80s, 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 prop osito de proporcionar una R herramienta para la investigaci on en control. Su desarrollo fue inspirado en MATLAB de Cleve Moler. Para la d ecada de los a nos 90s, el software cambia de nombre para llamarse Scilab, desarrollado entonces por el INRIA (Institut National de Recherche en Informatique et en Automatique) dentro del Grupo Scilab con el apoyo de investigadores de la ENPC ( ecole Nationale des Ponts et Chauss ees). El INRIA decide que Scilab ser a software libre y de c odigo abierto. La primera versi on en estas condiciones aparece el 2 de enero de 1994. A comienzos del a no 2003, y debido a la gran cantidad de descargas, el INRIA con el prop osito de asegurar el futuro de Scilab, en cuanto a desarrollo, mantenimiento, y promoci on, decide crear el Consorcio Scilab, con el apoyo de varias compa n as y organizaciones acad emicas. Entre las empresas reconocidas mundialmente por la mayor a de las personas R R destacan Peugeot y Renault .
R En la actualidad el Consorcio Scilab pertenece a Digiteo , de esta forma se proporciona el apoyo en el desarrollo y sostenimiento del software necesario para prevalecer por largo tiempo. A partir de 2008 Scilab se distribuye bajo CeCill License .

Actualmente se realizan m as de 50,000 descargas mensuales en m as de 80 pa ses en el mundo. Acad emicamente, es usado en universidades de Jap on (Universidad de Tokio, Tsukuba e Hiroshima), India (Instituto Tecnol ogico Indio de Bombay) y China ( ecole Centrale de Pekin, Universidad de Zhejiang y el Instituto de Automatizaci on de la Academia de Ciencias de China). En Francia es usado por la ecole Polytechnique, ecole Centrale Paris, ecole Nationale Sup erieure de Techniques Avanc ees y la ecole des Ponts.

1.2.

Descarga e Instalaci on

R El sistema operativo en el que se ha trabajado para elaborar este documento es Windows R Seven . Para los usuarios de este sistema operativo, simplemente deben ingresar mediante su navegador de internet preferido a la p agina www.scilab.org, que al momento de elaborar este texto tiene la apariencia que se muestra en la gura 1.1 Con el puntero del mouse seleccionar el area que dice Download Scilab. La versi on a descargar es la 5.3.3.

Una vez realizado lo anterior, inmediatamente despu es aparece una ventana que nos indica guardar el archivo scilab-5.3.3.exe en la carpeta que se desee. Con el archivo en la compuR tadora, este se abre para ejecutarlo y comenzar la instalaci on. Windows mostrar a una 2

Figura 1.1: P agina de inicio del sitio web de Scilab www.scilab.org, desde la cual se descarga el software. ventana de Cuenta de Usuarios que nos pedir a permitir ejecutar el archivo, entonces seleccionar la palabra s . Se siguen las indicaciones paso a paso como lo indica el software. Si se est a conectado a internet se descargar an complementos y librer as, de no ser as , se puede actualizar posteriormente. Ya instalado se abre para observar su apariencia, como se ver a en la secci on siguiente. Es altamente recomendable e importante navegar por el sitio web de Scilab, pues existe informaci on muy u til e interesante como documentaci on, enlaces a sitios que incluyen foros de discusi on, comunidades, productos diferentes y complementarios y soporte t ecnico entre otros servicios m as.

1.3.
1.3.1.

Uso de la consola de Scilab


Scilab como calculadora. Variable predeterminada ans

Al comienzo del uso de Scilab, la primera aplicaci on tiene que ver con c alculos num ericos que implican operaciones b asicas que pueden f acilmente realizarse en una calculadora cient ca.

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 donde pueden realizarse innumerables c alculos b asicos, operaciones y evaluaciones con funciones, elaboraci on de gr acas en 2D y 3D, entre muchos otros. La gura 1.2, presenta la ventana de la consola de Scilab. El texto que se introduce para todos los procesos de c omputo, se introduce inmediatamente despu es del prompt -->. Como ejemplo, se introduce la secuencia de operaciones siguiente 45 23 + 12 4/6. El s mbolo * se introduce para efectuar la multiplicaci on y el s mbolo / se introduce para la divisi on. El resultado aparece inmediatamente despu es 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. Se introducen entonces las operaciones siguientes tomando en cuenta el valor de la variable ans. ans-12+4/6, cuyo resultado es 1035 (ver gura 1.4) Por u ltimo realizamos la operaci on sqrt(ans/23+4) Donde sqrt se usa para obtener la ra z cuadrada de los t erminos que est an entre par entesis. Es importante mencionar, que para el uso de los par entesis, se debe respetar las reglas de precedencia. El resultado nal se presenta en la gura 1.5.

Figura 1.3: Introducci on de operaciones aritm eticas b asicas Como ya se habr a dado cuenta el lector, no es posible modicar l neas anteriores, para hacerlo, se debe introducir en la nueva l nea el texto con los cambios necesarios. Tambi en es posible hacer cambios al volver a l neas anteriores presionando las teclas de direcci on que tienen la echa hacia arriba () o hacia abajo (), de esta forma no es necesario introducir 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 clear variable borra solo aquellas variables que nos interesa eliminar. El comando clear all borra todas las variables que se hayan introducido. La gura 1.6, muestra la apariencia de una ventana de Scilab tras haber introducido el comando clc. Por claridad y espacio, de aqu en adelante se escribir an los textos de consola sin las im agenes de la ventana.

1.3.3.

Ayuda en Scilab

Si se tienen dicultades en cualquier proceso realizado en Scilab, se puede obtener ayuda en la consola haciendo click en el cono con el signo de interrogaci on o escribiendo -->help (opci on) Como ejemplo, se busca informaci on sobre el comando plot para elaborar gr acas en el plano. 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 opci on de buscar m as t erminos que se requieran u ocurran. Cuando se est a en la ventana de SciNotes, la forma de acceder a la ayuda es haciendo click en el cono ? que est a en la parte superior de la barra de men us. Lo mismo sucede en la ventana de gr acos.

1.3.4.

Caracteres reservados para Scilab

Existen constantes que son de uso com un en las matem aticas y que en Scilab tienen reservados caracteres especiales que las distinguen. La forma en que se escriben es anteponiendo el s mbolo % a los caracteres que los describen. Aqu se presentan algunos de ellos. N umero . --> %pi %pi = 3.1415927

Figura 1.5: Resultado nal del proceso de c alculo N umero e. --> %e %e = 2.7182818 N umero Imaginario sqrt1. -->sqrt(-1) ans = i N umero muy grande Inf. --> %inf inf = Inf N umero muy peque no eps. --> %eps %eps = 2.220D-16 No un n umero nan. 7

Figura 1.6: Limpieza de pantalla con el comando clc --> %nan %nan = Nan Valor verdadero t. -->Verdadero= %t Verdadero = T Valor falso f. -->Falso= %f Falso = F

1.3.5.

Comando format

En Scilab de forma predeterminada el n umero de cifras decimales es de 10, pero es posible cambiar esta condici on con format(n umero de d gitos). El m aximo n umero de d gitos en Scilab 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 t ermino que puede tomar diferentes valores en un proceso de an alisis matem atico. Por lo general se les asignan letras min usculas como x, y , z , y para el tiempo la letra t. Tambi en es posible escribir el nombre de una variable como una cadena de caracteres. Para introducir variables escalares se escribe la variable seguida del signo igual y del valor num erico, por ejemplo, x = 5. -->x=5 x= 5. Es posible evaluar una funci on y a partir del valor que se asigna a la variable x, por ejemplo, y=x2 se eval ua en la consola de Scilab de la forma siguiente: -->x=6 x= 6. -->y=x^2 y= 36. Una variable puede tomar una serie de valores en un intervalo, de tal manera que para cada valor de la variable x, en la funci on y se genera una serie de valores que est an en correspondencia con los de x. En Scilab se dene el intervalo y sus incrementos de la siguiente manera: 9

l mite inferior : incremento : l mite superior El ejemplo que se presenta a continuaci on muestra la forma de introducir una variable x en un intervalo de 0 a 5 con incrementos de 1. Tambi en muestra el resultado en forma 2 similar para la funci on y = x . -->x=0:1:5 x= 0. 1. 2. -->y=x^2 y= 0. 1. 4.

3.

4.

5.

9.

16.

25.

En ocasiones los resultados contienen muchos renglones y columnas de valores num ericos y desplegarlos puede ser innecesario e inconveniente. En ese caso, se agrega al nal de la l nea el signo ; para evitar que se desplieguen los datos. -->x=0:1:5; -->y=x^2 y= 0. 1. 4.

9.

16.

25.

Otra forma de introducir una serie de n umero como vector es mediante el comando linspace(valor de inicio, valor nal, n umero 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 emplear para evaluar una funci on como la del ejemplo anterior. -->y=x.^2 y= 0. 1. 4.

9.

16.

25.

1.3.7.

Funciones trigonom etricas

Las funciones trigonom etricas se introducen de la forma siguiente funci on trigonom etrica(variable). Inicialmente el valor de la variable se encuentra en radianes, aunque pueden emplearse los grados sexagesimales. En el caso de que la variable se exprese en grados sexagesimales, entonces se agrega a la descripci on de la funci on la letra d, como se muestra en la tabla 1.1.

10

Tabla 1.1: Funciones trigonom etricas en Scilab Funci on Comando Se introduce como trigonom etrica 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 ) 1 seno asin asin(variable) 1 coseno acos acos(variable) 1 tangente 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 funci on trigonom etrica es realizar la conversi on de grados sexagesimales a radianes mediante la siguiente conversi on (grados sexagesimales)(( radianes)/(180 )). 11

1.3.8.

Funciones exponenciales y logar tmicas

Funci on exponencial de base e Evaluar una funci on 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^3 ans = 20.085537 -->x=5; --> %e^x ans = 148.41316 Funci on logar tmica Se acostumbra distinguir a los logaritmos neperianos o de base e de los logaritmos de base diez por los t erminos ln y log respectivamente; en algunos casos se distinguen con loge y log 10. En Scilab se emplea log(valor) para los logaritmos de base e y log10( ) para los logaritmos 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 n umeros que representan cantidades escalares. En Scilab es posible introducir un vector rengl on o un vector columna. Para un vector rengl on, los elementos 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 caracter sticas de los vectores rengl on y columna se puede introducir una matriz. -->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 cuenta al realizar operaciones vectoriales en Scilab. A continuaci on se presentan las operaciones b asicas de suma y multiplicaci on vectorial. 13

Suma de vectores Suma de vectores rengl on -->a=[2 4 6]; -->b=[1 3 5]; -->a+b ans = 3. 7. 11. Suma de vectores columna -->a=[2; 4; 6]; -->b=[1; 3; 5]; -->c=a+b c= 3. 7. 11. No se puede realizar la suma de un vector rengl on con m as de una entrada con un vector columna con m as de una entrada en la forma que se ha mostrado, para hacerlo se puede obtener la transpuesta ya sea del vector rengl on o vector columna. Multiplicaci on por un escalar -->a=[3 9 7]; -->5*a ans = 15. 45. 35. Multiplicaci on elemento por elemento En el ejemplo que se muestra a continuaci on, se multiplican dos vectores rengl on. -->a=[2 4 6]; -->b=[1 3 5]; -->a*b --error 10 Multiplicaci on inconsistente. Cuando ocurre el error anterior, hay varias opciones para efectuar la multiplicaci on de vectores, con resultados diferentes cada una. En ocasiones deseamos que cada elemento del vector a se multiplique por el vector b. En tal caso habr a que anteponer un punto . antes del s mbolo *. El resultado es otro vector rengl on:

14

a*b=[2*1, 4*3, 6*5] -->a.*b ans = 2. 12. 30. En algunas situaciones, espec camente al gracar, la multiplicaci on, la divisi on y la potenciaci on elemento por elemento es muy u til y se introduce en Scilab anteponiendo a los s mbolos *, / y ^ un punto: .*, ./ y .^. Otra forma de multiplicar dos vectores es aplicando la multiplicaci on llamada producto punto, producto interior o producto escalar debido a que el resultado es un escalar. El producto punto debe cumplir con la condici on de que el n umero de columnas del primer vector a sea igual al n umero de renglones del segundo vector b. Es importante recordar que a b = b a. -->a=[2 4 6]; //Vector rengl on -->b=[1; 3; 5]; //Vector columna -->a*b ans = 44. Tambi en es posible hacer que el vector rengl on b=[1 3 5] se transforme en un vector columna desarrollando su transpuesta, por lo que el vector rengl on a=[2 4 6] se multiplica por el vector columna de la transpuesta del vector b, es decir, a bT . En Scilab la transpuesta de b se escribe b . -->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 nalar la localizaci on del elemento en el vector. En el vector a=[10 11 12 13 14], el elemento 3 corresponde al n umero 12. En Scilab se obtendr a de la forma siguiente -->a=[10 11 12 13 14]; -->a(3) 15

ans = 12. Tambi en se puede seleccionar un rango, por ejemplo, los elementos que ocupan las posiciones 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. Tambi en se puede cambiar el valor de un elemento en un vector. -->a(3)=20; -->a a= 10. 11. 20.

13.

14.

Longitud de un vector En ocasiones, resulta de gran utilidad determinar la longitud de un vector, que es el n umero de elementos o entradas que lo componen. Como ejemplo, el vector a=[0 1 2 3 4 5 6] tiene 7 elementos. Para determinar la longitud del vector a, en Scilab se introduce length(vector). -->a=[0 1 2 3 4 5 6]; -->length(a) ans = 7. Vector de unos (vector unitario) La instrucci on o comando para introducir unos a un vector se realiza especicando la cantidad de elementos del vector entre par entesis 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, se introduce 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 es uno, y se introduce en Scilab mediante la instrucci on ones (n umero de renglones, n umero de 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 (n umero de renglones, n umero 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 los que i = j , son todos iguales a uno. La forma de introducir la matriz identidad se hace con la instrucci on eye, eye (n umero de renglones, n umero de columnas). La matriz identidad hace de 1 en la multiplicaci on de matrices. Tambi en puede escribirse como In . Para una matriz de m m.

17

-->A=eye(4,4) A= 1. 0. 0. 0. 1. 0. 0. 0. 1. 0. 0. 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. 1. 0. 0. 0. 1.

0. 0. 0.

Matriz de n umeros aleatorios Es posible construir una matriz con elementos aleatorios usando el comando rand(n umero de renglones, n umero de columnas). -->A=rand(3,3) A= 0.2113249 0.3303271 0.7560439 0.6653811 0.0002211 0.6283918 Suma de matrices La condici on para la suma de matrices la condici on es que dos matrices deben tener el mismo n umero de elementos por rengl on y por columna. -->A=[1 2 3; 4 5 6]; -->B=[6 5 4; 3 2 1]; -->C=A+B C= 7. 7. 7. 7. 7. 7. 18

0.8497452 0.6857310 0.8782165

Multiplicaci on de un escalar por una matriz Si k es un escalar y A una matriz de tama no m n, entonces k multiplica cada elemento de A para dar como resultado kA, siendo kA = Ak . -->A=[1 2;3 4]; -->k=6; -->k*A ans = 6. 18. 12. 24. Multiplicaci on de matrices Para multiplicar matrices es condici on necesaria que el n umero de columnas de la matriz A sea igual al n umero de renglones de la matriz B. Sea A una matriz de m k y B una matriz de k n, entonces AB da como resultado una matriz de m n elementos. La multiplicaci on de una matriz de 3 4 por otra de 4 2 dar a como resultado una matriz de 3 2. Una propiedad importante de la operaci on con matrices es que AB = BA. -->A=[2 4 3 -1;3 1 5 2;-1 0 7 6]; -->B=[1 4;2 3;0 -2;3 1]; -->A*B ans = 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 de una matriz. Siendo A la matriz en cuesti on, se cambia el elemento especicando A(n umero de rengl on del elemento, n umero de columna del elemento) = nuevo valor. -->A=[2 4 6 ;1 3 5;7 8 9]; -->A(2,2)=0 ans = 2. 4. 6. 1. 0. 5. 7. 8. 9.

19

El elemento que se halla ubicado en el rengl on 3 y columna 2 es 3 y se ha cambiado por el n umero 0. Si se desea cambiar m as elementos de una sola vez, por ejemplo, cambiar a cero cada valor de los elementos del segundo rengl on. -->A=[2 4 6 ;1 3 5;7 8 9]; -->A(2,1:3)=0 ans = 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 matriz A. En Scilab se obtiene la transpuesta de la matriz A agregando un ap ostrofe, A . -->A=[6 2 -4;3 -1 2;0 4 3] A= 6. 2. - 4. 3. - 1. 2. 0. 4. 3. -->A ans = 6. 3. 2. - 1. - 4. 2.

0. 4. 3.

Inversa de una matriz En Scilab invertir una matriz resulta sencillo con el comando inv(matriz). La condici on es 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 comprobar si una matriz tiene determinante. Se hace mediante el comando det(matriz). -->A=[1 2;3 4] -->det(A) ans = -2

1.3.12.

Soluci on de sistema de ecuaciones lineales

En esta secci on se obtendr a la soluci on de un sistema de ecuaciones lineales en la forma escalonada reducida por las. El comando a usar es rref(matriz aumentada). Dado el sistema de ecuaciones lineales siguiente, hallar su soluci on. x 2y +z = 15 2x +3y 3z = 1 4x +10y 5z = 3 Se introduce en la consola la matriz aumentada como una matriz de 3 4. 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] A= 1. -2. 1. 15. 2. 3. -3. 1. 4. 10. -5. -3. -->rref(A) ans = 1. 0. 0. 0. 1. 0. 0. 0. 1.

8. -2. 3.

Los n umeros 1 son los coecientes de las variables x, y y z , por lo que el resultado se lee x = 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 introduce una 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 dimensi on com un de los espacios de renglones y columnas de la 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.

Gr acas en consola de Scilab

En ocasiones, es necesario elaborar gr acas r apidamente mediante la introducci on de la informaci on necesaria en la consola de Scilab, el resultado se observa de forma inmediata. Luego se podr a pulir la gr aca y guardar la informaci on en SciNotes. Para elaborar una gr aca en coordenadas rectangulares primero se declara el intervalo de gracado para la variable x deniendo el valor inicial, el tama no del incremento y el valor nal. Luego se introduce la funci on y por u ltimo el comando plot(x,y). -->x=0:0.1:2* %pi; -->y=sin(x); -->plot(x,y) El resultado gr aco (ver gura 1.8) se despliega en una ventana llamada ventana de gr aco n umero 0. La ventana de la gr aca se puede acoplar a la ventana de la consola omo se ven ambas ventanas una arrastr andola por la l nea azul. La gura 1.9, muestra c vez acopladas.

1.5.

Funciones

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

22

Figura 1.8: Ventana gr aca originada desde la consola. Se plantea la funci on 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. Tambi en se puede avaluar una funci on 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 gr aca acoplada a la ventana de la consola. Tambi en se puede gracar una funci on denida de la forma anterior. -->x=linspace(-10,10,20); -->f(x); -->plot(x,y) El resultado se aprecia en la gr aca de la gura 1.10.

1.6.

El gui on en Scilab. Introducci on a SciNotes

El gui on o script es un archivo con extensi on sce. Es un editor de Scilab, en el que la informaci on se introduce y se guarda para uso posterior. Los guiones o scripts se ejecutan o corren y los resultados se visualizan en la consola y/o en la ventana gr aca. Una de las 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 un block de notas y un l apiz, que est a en la parte superior izquierda de la consola (ver gura 1.11). Otra forma es a trav es de la barra de men us, en donde se selecciona el men u Aplicaciones o Applications y luego SciNotes. La apariencia de la ventana de SciNotes con l neas de instrucciones y comentarios se muestra en la gura 1.12. Los comentarios de agregan anteponiendo // y aparecen en color verde. Para ejecutar el gui on se presiona la tecla F5 y se guarda el archivo en la carpeta que se desee. Tambi en se puede ejecutar y guardar un gui on seleccionando con el puntero del mouse el cono . Si se han escrito una serie de l neas con resultados parciales, se seleccionan las que son de inter es y al presionar el lado 24

Figura 1.10: Gr aca de la funci on 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 men u Archivo se selecciona la opci on Guardar como, luego se nombra el archivo y se selecciona la carpeta de destino. Al igual que con la ventana gr aca, la ventana de SciNotes se puede integrar a la ventana de la consola, arrastr andola de la l nea azul que est a debajo de la barra de men us y de la barra de conos y acomod andola en la ventana de la consola (Ver gura 1.13). Como antes se mencion o, los comentarios aparecen en verde, las funciones llamadas primitivas tienen el color azul, las macros se visualizan en color morado y las variables externas son de color rojo. Para conocer o modicar el color se entra al men u Preferencias y despu es a Set Colors. Por comodidad, los c odigos de SciNotes que servir an de ejemplo se escribir an sin la ventana. La gura 1.14, muestra una forma de integrar las ventanas de la consola, SciNotes y la ventana gr aca.

25

Figura 1.11: Selecci on de cono de ejecuci on de nuevo archivo de SciNotes.

Figura 1.12: Ventana de SciNotes con c odigo para gracar una funci on senoidal.

26

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

Figura 1.14: Integraci on de las ventanas gr aca y de SciNotes en la ventana de la consola.

27

28

CAP ITULO 2 Gr acas 2D


2.1. Gr acas 2D b asicas

Elaborar gr acas es muy u til para comprender el comportamiento de modelos matem aticos de aplicaci on en las ciencias y la ingenier a. Las gr acas facilitan el camino para encontrar la soluci on de un sin n umero de problemas; en ocasiones resultan ser la mejor manera para hallar una soluci on, adem as son un medio adecuado para la presentaci on de resultados y para la comunicaci on de conceptos. Con Scilab es posible elaborar gr acas bidimensionales o 2D usando los comandos plot y plot2d. El uso de uno u otro comando depender a de las caracter sticas a mostrar en la gr aca deseada. En el caso de plot2d se tiene la posibilidad de ofrecer distintas apariencias a una misma funci on con la adici on de los n umeros 1, 2, 3 o 4 al comando plo2d, es decir, el comando toma las formas plot2d1, plot2d2, plot2d3 o plot2d4, como se ver a m as adelante.

2.2.

Comando plot

Este comando es sencillo y requiere que el vector de la variable independiente sea del mismo tama no que el de la variable dependiente. En el c odigo del ejemplo 1, que se presenta a continuaci on, se introduce primero el vector x y luego el vector y en funci on del vector x, despu es se introduce el comando plot, seguido de propiedades como t tulos de encabezado y de ejes mediante el comando xtitle(T tulo de gr aca, T tulo del eje x, T tulo del eje y) y la inclusi on de rejilla con el comando xgrid(n umero de color de rejilla).

Ejemplo 1. Dibujar la gr aca de la funci on y = 2 cos 2x, en el intervalo de (0, 2 ), usando el comando plot. El c odigo muestra las l neas que se insertan en la ventana de SciNotes para generar una gr aca de una funci on senoidal, en este caso la funci on y que es dos veces el coseno del angulo, representado por x. El intervalo para gracar la funci on va de 0 hasta 2 radia29

nes. La gr aca presenta el t tulo de encabezado y los t tulos de los ejes. x=0:0.1:2* %pi; //Vector x y=2*cos(2*x); //Vector y plot(x,y) SENOIDAL","Angulo xtitle("GRAFICA DE FUNCION (x)","Funci on y(x)") xgrid //Trazo de rejilla con el color original. El resultado se muestra en la gura 2.1. Es posible representar dos o m as gr acas de funciones en un mismo plano coordenado. El ejemplo 2, muestra la forma en la que puede hacerse este tipo de gr acas.

Figura 2.1: Gr aca elaborada con el comando plot

Ejemplo 2. Gracar la funci on coseno del ejemplo 1 y agregar al plano coordenado la funci on 2 + 2 sin 2x. Para este tipo de situaciones, en el c odigo se ilustra la forma de representar dos funciones en un mismo plano. Se adicionan propiedades como color y grosor de l nea. El comando se escribe: plot(x,f(x), color, grosor de l nea, n umero que expresa la magnitud del grosor de l nea). x=0:0.1:2* %pi; //Vector x y=2*cos(2*x); //Vectory plot(x,y,"g","thickness",3) //Gr aca de color verde y grosor de l nea 3 v=2+2*sin(2*x);//Vector "y" para la funci on seno. 30

plot(x,v,"r","thickness",5) //Gr aca de color rojo y grosor de l nea 5 xtitle("GRAFICA DE FUNCION SENO Y COSENO","Angulo (x)","Funci on y(x)") xgrid //Trazo de rejilla La gr aca que surge al ejecutar el c odigo es la que se muestra en la gura 2.2, en la cual se ha cambiado el color original a verde y rojo.

Figura 2.2: Gr aca de dos funciones usando el comando plot Situaciones como la del ejemplo anterior se presentan cuando se trata de comparar procesos o eventos en los que las condiciones de inicio dieren. Resulta muy u til para el an alisis experimental resaltar diversos comportamientos no solo con colores, sino, tambi en con guras (como se ver a en secciones posteriores). Durante el trabajo de aula, el docente puede aclarar el panorama de lo que sucede al evaluar diversas funciones y seguir distintas trayectorias. En un ejemplo posterior se indicar a el procedimiento para agregar leyendas que faciliten la identicaci on de varias funciones, por ahora, con la informaci on que se tiene es posible realizar an alisis de muchos problemas de ingenier a y ciencias usando gr acas sencillas como las ya mostradas. Para modicar los colores de l nea se puede introducir la palabra completa del color deseado, ya sea en min usculas o may usculas o la solo mediante la letra inicial. La tabla 2.1 presenta las diversas opciones para modicar el color de l nea. En ocasiones, es deseable distinguir los trazos de las funciones no solo por el color si no por s mbolos que las distingan. En el ejemplo 3 el comando plot se escribe de tal manera que el estilo de la curva a trazar se dene al colocar el c odigo o el s mbolo en la primera acas de la gura 2.2, pero con trazos posici on. La gura 2.3 ilustra el caso de las mismas gr 31

representados por s mbolos. La tabla 2.2, muestra los s mbolos disponibles en Scilab para trazar funciones en el plano. Tabla 2.1: C odigos de color para el comando plot Color de l nea Texto en ingl es Abreviatura Azul blue b Cian cyan c Verda green g Negro black k Magenta magenta m Rojo red r Amarillo yellow y

Figura 2.3: Gr aca de dos funciones usando el comando plot Ejemplo 3. Traza la funci on del ejemplo 2 usando algunos s mbolos de la tabla 2.2. Se escribe el mismo c odigo del ejemplo 2, con un cambio en el estilo, al agregar el c odigo del s mbolo. Hay que observar que en la primera l nea se anota el comando clf() con el prop osito de limpiar o resetear gr acas anteriores o la ventana gr aca actual o anteriores. clf() //Limpia la ventana de gr acas anteriores. x=0:0.1:2* %pi; //Vector x 32

y=2*cos(2*x); //Vector y plot(x,y,"*g","thickness",3) //Curva color verde, s mbolo de asterisco y grosor de l nea 3 v=2+2*sin(2*x);//Vector y para la funci on seno plot(x,v,"pr","thickness",5) //Curva de color rojo, s mbolo de estrella y grosor de l nea 5 xtitle("GRAFICA DE FUNCION SENO Y COSENO","Angulo (x)","Funci on y(x)") xgrid //Trazado de rejilla

Tabla 2.2: C odigos de s mbolos para el trazado de gr acas en 2D C odigo Descripci on S mbolo . Punto : Punto y gui on -.. -L nea punteada -* Asterisco * + M as + L nea continua d Rombo o C rculos p Estrella de cinco puntas s Cuadros v Nabla x Cruz de San Andr es

Como ejemplo de aplicaci on, la ingenier a el ectrica es una fuente de inspiraci on para elaborar gr acas muy interesantes. En el ejemplo 4 se ha gracado una onda modula y sus ondas envolventes. Destaca en este ejemplo la modicaci on de los l mites del marco de la gr aca. Ejemplo 4. Gracar la onda modulada y = 0,5 sin(x) sin(12x) y la onda de amplitud envolvente y = 0,5 sin(x) en un intervalo de 0 a 4 en x. En el c odigo de este ejemplo se han agregado l neas que permiten modicar los ejes coordenados en sus dimensiones, lo que en este caso posibilita enmarcar la gr aca entre la coordenada (0, 0,6) y la coordenada (4, 0,6), la variable a introducir es a=get(current axes), seguida de a.data bounds=[x1 ,y1 ;x2 ,y2 ]. Es importante no omitir el gui on bajo entre a.data y bounds, y el punto y coma entre las coordenadas y1 y x2 . clf() //Borra gr acas anteriores x=0:0.01:4* %pi; y=0.5*sin(x).*sin(12*x); //Onda modulada plot(x,y) w=0.5*sin(x); //Onda envolvente plot(x,w) 33

z=-0.5*sin(x); //Onda envolvente plot(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 gui on bajo a.data bounds=[0,-0.6;4* %pi,0.6]; // Enmarca la gr aca [xmin , ymin ; xmax , ymax ] La gr aca del ejemplo 4 se ilustra en la gura 2.4. Hay que observar el espacio que queda por encima y por debajo de la gr aca de la funci on.

Figura 2.4: Gr aca de una onda modulada En ciertas ocasiones es necesario visualizar la gr aca de una funci on de forma que sea una representaci on lo m as real posible, esto sucede cuando se desea trazar la gura de una c onica como la circunferencia o la elipse; para estos casos se requiere que a la vista los ejes sean iguales. Se introduce entonces el comando isoview[x min,x max,y min,y max]. Cuando se usa plot2d en lugar de plot, se introduce entonces el argumento frameag=4. El ejemplo 5, muestra como se ve una elipse que se traza mediante una ecuaci on param etrica. x2 y 2 + = 1, mediante las ecuaciones param etricas x = 4 9 2 cos(t) y y = 3 sin(t), en el intervalo 0 t 2 . Ejemplo 5. Trazar la elipse 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.

Gr aca de dos funciones usando function... endfunction

Retomando el concepto de la secci on 1.5, sobre el uso de funciones con function. . . endfunction, y aplic andolo a gr acas m as elaboradas, se presenta en la gura 2.6 del ejemplo 6 la gr aca de dos curvas identicadas con sus leyendas correspondientes. Ejemplo 6. Graca las curvas denidas por las funciones f (x) = (sin x)3 y g (x) = (cos x)3 , usando function. . . endfunction. La gr aca de la gura 2.6, muestra dos funciones senoidales generadas mediante el c odigo de este ejemplo. Cada curva se ha identicado con una leyenda ubicada en la parte superior derecha de la gr aca; el comando para la inserci on de leyendas es legend(leyenda 35

1, leyenda 2). function senoidal=f(x); senoidal=(sin(x))^3; endfunction x=0:0.1:2* %pi; plot(x,f,"thickness",3) function cosenoidal=g(x); cosenoidal=(cos(x))^3; endfunction plot(x,g,"--r","thickness",3) xgrid xtitle("Funci on","Par ametro de entrada x","Par ametro de Salida f(x)x") legend("sin(x)^3","cos(x)^3")

Figura 2.6: Gr aca de dos funciones senoidales usando function. . . endfunction

2.4.

Comando Plot2D

El comando plot es ampliamente usado para gracar un sin n umero de funciones, el comando plot2d tiene propiedades que lo distinguen del comando plot, como se ver a en las l neas siguientes. La forma de escribir el comando plot2d es:

plot2d(x,y,<argumentos opcionales<) Algunos de los argumentos opcionales son: 36

logag. Establece el tipo de escala en lineal o logar tmica. style. Establece el estilo o forma en que la curva ser a trazada. strf Controla el despliegue de t tulos o leyendas y permite la manipulaci on de los ejes coordenados. Es una cadena de tres caracteres (en forma predeterminada strf=081). leg. Establece los t tulos o leyendas. El valor que tienen asociado es una cadena de caracteres. rect. Fija los l mites de la gr aca. El valor asociado debe ser un vector real con cuatro entradas [xmin, ymin, xmax, ymax]. El estilo se establece mediante uno de dos n umeros posibles, uno positivo para denir colores de l neas y otro negativo para denir el s mbolo del trazo. La tabla 2.3 muestra los diferentes colores de la l nea de trazo de una gr aca, denido por el argumento style=[(n umero positivo o negativo)]. La tabla 2.4 es una gu a para seleccionar diferentes tipos de s mbolos para modicar las caracter sticas de una gr aca. Tabla 2.3: Color de l nea que corresponde al argumento style usado en el comando plot2d

La aplicaci on de los argumentos style, leg y rect se presenta en el ejemplo 7 que sigue. Ejemplo 7. Gracar la funci on y = xsin2 x, usando el comando plot2d, agregando valor de estilo -4, leyenda y=xsen(x)^2 y l mites de marco de gr aca xmin=0, ymin=0, xmax=7 y 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]) xgrid xtitle("Funci on trigonom etrica usando el comando plot2d","Eje X","Eje Y")

37

Tabla 2.4: Estilo de l nea de s mbolos para el argumento style que se emplea en el comando plot2d Argumento Tipo de Descripci on de estilo s mbolo 0 Punto -1 + M as -2 Cruz de San Andr es -3 M as en c rculo -4 Diamante negro -5 Diamante blanco -6 Nabla -7 Delta -8 Tr ebol invertido -9 Letra O

La gr aca generada por el c odigo anterior se muestra en la gura 2.7. Usar plot2d como en el ejemplo anterior implica que los s mbolos que trazan la curva aparezcan solo en color negro, lo que no representa inconveniente si consideramos que en ocasiones es suciente con simplemente tener una forma pr actica y efectiva de diferenciar las gr acas de distintas funciones en un mismo plano. El argumento logag establece la escala de los ejes para el trazado de la curva como lineal o logar tmica con los siguientes valores posibles: nn, nl, ln y ll, donde l se usa para designar la escala logar tmica y n la escala normal. strf se introduce con tres caracteres xyz, con los valores de x se puede visualizar o no las leyendas, los valores de y permiten controlar el c alculo de los rangos de los ejes coordenados y con z se controla la informaci on del marco que rodea a la gr aca. El ejemplo 8 muestra la realizaci on de una gr aca logaritmo-logaritmo para la funci on 2 y = x en dicha gr aca el eje de las ordenadas se encuentra a la derecha y no en x = 0. M as adelante en la secci on de mejoras para la presentaci on de gr acas, se usar a una variable para modicar la posici on de los ejes y podr a compararse con el argumento strf. Ejemplo 8. Gracar la funci on y = x2 en escalas logaritmo-logaritmo en el intervalo 0.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: Gr aco de una funci on con ayuda del comando plot2d xtitle("Gr aca de y=x^2","Eje X","Eje Y") La gr aca de la gura 2.8 muestra el resultado.

2.5.

Mejoras para la presentaci on de gr acas.

El comando gca( ) (get current axes) realza en forma sobresaliente las caracter sticas de una gr aca. Es necesario introducir despu es del comando gca() variables de los elementos gr acos que se van a modicar.

2.5.1.

Variable grid=[x,y]

El comando gca(), interviene en el proceso de mejora de una gr aca, al introducir una variable despu es de las instrucciones que originan tal gr aca, por ejemplo, a, que se iguala a gca(), a=gca(), despu es se anota a.variable a cambiar=valores. La variable grid=[x,y], permite modicar los colores de las proyecciones de las l neas verticales y horizontales de la rejilla. La forma de hacerlo se presenta en el ejemplo 9 que sigue. Ejemplo 9. Dibujar la gr aca de la funci on y = cos(x2 ), en el intervalo 0 < x < 2 neas verticales y horizontales de la rejilla, a ma(gura 2.9) y cambiar el color de las l genta y verde, respetivamente.

39

Figura 2.8: Gr aca logaritmo-logaritmo de la funci on 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 aplic o la variable a.grid=[a,b] junto con el comando plot2d, tambi en es posible hacerlo con plot. Se recomiendo hacer la prueba.

2.5.2.

Variable font style y font size para edici on de tipo y tama no de texto

Hasta ahora hemos visualizado gr acas con una presentaci on aceptable, sin embargo, los t tulos de la gr aca y de los ejes as como los valores de la escala no son del tama no adecuado para verlos sin esfuerzo. Para mejorar la presentaci on de los t tulos se puede modicar tanto el estilo como el tama no de estos. Para hacer las modicaciones se recurre umero y font size=n umero que se usan junto con xtitle. a las variables font style=n La tabla 2.5 muestra la relaci on entre el n umero de fuente que se ingresa a la variable font style y el tipo de fuente disponible.

40

Figura 2.9: Modicaci on de color de las l neas de la rejilla El tama no de la fuente es un factor importante al momento de elaborar y presentar gr acas. La forma de denir el tama no de la fuente se hace mediante el uso de la variable font size=n umero. El tama no de la fuente de Scilab es diferente al tama no de la fuente de Java. La tabla 2.6 presenta esta relaci on. A trav es del ejemplo 9, se ilustra la creaci on de gr acas con textos m as grandes en los t tulos de gr aca y de ejes, as como en la numeraci on de cada eje coordenado. Tambi en se puede cambiar el estilo del texto. Ejemplo 10. Repite la gr aca del ejemplo 9, cambiando el tama no y tipo de texto para los t tulos de gr aca y ejes. Cambia el color, tipo y tama no de texto para la numeraci on de los ejes coordenados. No se especica ni el estilo ni el tama no del texto, por lo que arbitrariamente se selecciona de la tabla 2.5 el estilo de texto 5 y de la tabla ?? el tama no de texto 6. Para el tama no de texto se selecciona el n umero 6 y para el color de la tabla 2.3 se escoge el color rojo que corresponde al n umero 5. clf() x=0:0.01:2* %pi; y=-cos(x.^2); plot2d(x,y) xtitle("Funci on f(x)=cos(x^2)","Eje X","Eje Y") a=gca(); a.grid=[6,3];//Rejilla. L neas verticales magenta y horizontales verdes 41

Tabla 2.5: Relaci on de n umero y tipo de fuente para t tulos de gr acas N umero de fuente Tipo de fuente Negrita It alica 0 Monospaced No No 1 ScilabSymbols No No 2 Serif No No 3 Serif No S 4 Serif S No 5 Serif S S 6 SansSerif No No 7 SansSerif No S 8 SansSerif S No 9 SansSerif S S 10 SansSerif S S Tabla 2.6: Relaci on de tamade fuente de Scilab y Java Scilab Size Java Size 0 8 1 10 2 12 3 14 4 18 5 24 6 30 7 36 8 42 9 48 10 54

a.title.font_style=5;//Estilo de fuente del t tulo a.title.font_size=6;//Tama no de fuente del t tulo a.labels_font_style=5;//Estilo de fuente en n umeros de marcadores en los ejes a.labels_font_size=6; //Tama no de n umeros de marcadores en los ejes a.labels_font_color=5;//Color de n umeros de marcadores en los ejes a.x_label.font_style=5;//Estilo de fuente de leyenda del eje X a.x_label.font_size=6;//Tama no de fuente de leyenda del eje X a.y_label.font_style=5;//Estilo de fuente de leyenda del eje Y a.y_label.font_size=6;//Tama no de fuente de leyenda del eje Y

Aunque no es lo usual, con el c odigo anterior se pretende resaltar en la gr aca de la gura 2.10 los cambios realizados. 42

Figura 2.10: Modicaci on de estilo y tama no de texto de t tulos de una gr aca

2.5.3.

Variable log ags para gr acas logar tmicas

Las escalas logar tmicas son escalas de medida de cantidades f sicas. Se emplean cuando los datos que se presentan en una gr aca de coordenadas rectangulares est an en un rango muy amplio, as que la escala logar tmica facilita su visualizaci on comprensi on. Algunos ejemplos reconocidos en la ciencia y en la ingenier a corresponden a la escala Richter para medir la intensidad de un terremoto y el diagrama de Moody para la determinaci on del n umero de Reynolds, diagrama de factor de compresibilidad de gases, diagrama de viscosidad de lubricantes, diagramas de presi on entalp a para los refrigerantes, entre otras aplicaciones. Mediante la variable log ags y el comando gca( ) se trazan gr acas logar tmicas en forma pr actica y sencilla, ya sea en conjunto con el comando plot o con el comando plot2d, como la que se muestra en la gura 2.11 generada en el ejemplo 11. Ejemplo 11. Traza la gr aca de la funci on f (x) = x3 en escala logaritmo-normal. En este ejemplo la gr aca se presenta con la formalidad debida en cuanto a textos se reere y aplicando la variable log-ags. clf() x=0.1:0.01:4; y=x.^3; plot2d(x,y) xtitle("Funci on f(x)=x^3","Eje X","Eje Y") 43

xgrid a=gca(); a.log ags="ln"; a.title.font size=6;//Tama no de fuente del t tulo a.labels font size=5;//Tama no de n umeros de marcadores en los ejes a.x label.font size=5;//Tama no de fuente de leyenda del eje X a.y label.font size=5;//Tama no de fuente de leyenda del eje Y

Figura 2.11: Gr aca logaritmo-normal

2.5.4.

Variable x location y y location para posicionamiento de los ejes

Mejorar la apariencia de las gr acas para una mejor comprensi on puede requerir de relocalizar los ejes coordenados. A trav es del comando gca() y las variables x location= posici on y y location= posici on es posible lograrlo de forma simple. Los valores posibles para ambos ejes son:

x location bottom. El eje se dibuja en la parte inferior de la gr aca. top. El eje se dibuja en la parte superior de la gr aca. middle. El eje se dibuja en la posici on central. 44

origin. El eje se dibuja en el origen.

y location left. El eje se dibuja a la izquierda de la gr aca. right. El eje se dibuja a la derecha de la gr aca. middle. El eje se dibuja en la posici on central. origin. El eje se dibuja en el origen. En el ejemplo 12, adem as de introducir el posicionamiento de los ejes, tambi en se hace A uso de la escritura con L TEX, al introducir el texto "$Funci\on; f(x)=\cos^{3}{x}$" en el t tulo de la gr aca. Ejemplo 12. Traza la gr aca de la funci on 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") xgrid a=gca(); a.title.font size=6;//Tama no de fuente del t tulo a.labels font size=4; no de fuente de leyenda del eje X a.x label.font size=4;//Tama a.y label.font size=4;//Tama no de fuente de leyenda del eje Y a.x location="middle"; a.y location="middle"; El resultado est a en la gr aca de la gura 2.12

2.5.5.

Comando xstring para agregar leyendas a la gr aca

El comando xstring permite agregar texto en modo de leyenda para facilitar la comprensi on de la gr aca. La notaci on 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 se escribe en grados sexagesimales y la aparici on de un recuadro alrededor del texto se logra asignando 0 o 1, seg un se requiera (ver ejemplo 13). Ejemplo 13. Usa xstring para agregar la leyenda Primer Leyenda.en dos renglones, en y = sin x2 (ver gura 2.13), en el intervalo 3 x 3. la gr aca de la funci on x 45

Figura 2.12: Posicionamiento de ejes

Como x se halla tambi en en el denominador, con ieee(2) Scilab ja el punto otante actual en modo de excepci on para producir el resultado Inf o NaN. De esta forma no devuelve como resultado un error debido a la divisi on por cero. Las opciones posibles para ieee(mod) son 0, 1 y 2. 0 produce un resultado de error y 1 produce una advertencia. Inicialmente ieee(mod) est a 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") xgrid a=gca(); a.title.font size=4;//Tama no de fuente del t tulo a.labels font size=4; a.x label.font size=4;//Tama no de fuente de leyenda del eje X no de fuente de leyenda del eje Y a.y label.font size=4;//Tama xstring(1,0,["Primer";"Leyenda"],0,1)

46

Figura 2.13: Colocaci on de una leyenda en la gr aca de una funci on

2.5.6.

Gr acas con plot2d# y subplot

Con plot2d# se puede presentar de diferentes formas la gr aca de una misma funci on, en el ejemplo 14 se aplicar a el comando subplot que tiene el prop osito de presentar gr acas diferentes (gura 2.14) en una misma ventana. Ejemplo 14. Graca la funci on y = 4x2 + 10x + 9 aplicando el comando subplot para plot2d1, plot2d2, plot2d3 y plot2d4. Cada gr aca trazada con plot2d# tiene una caracter stica que la distingue. plot2d1. Las gr acas son las usuales, con l nea continua. plot2d2. Las gr acas se representan en forma de escal on. plot2d3. La representaci on es en forma de histograma. plot2d4. Las gr acas 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)//gr aca de l nea continua xtitle(L nea continua. plot2d1) 47

a=gca(); a.title.font_size=4; subplot(222) plot2d2(x,y)//gr aca escal on xtitle(Forma de escal on. plot2d2) a=gca(); a.title.font_size=4; subplot(223) plot2d3(x,y)//gr aca histograma xtitle(Forma de histograma. plot2d3) a=gca(); a.title.font_size=4; subplot(224) plot2d4(x,y)//gr aca de echas o vectores xtitle(Forma de echas. plot2d4) a=gca(); a.title.font_size=4;

Figura 2.14: Gr acas de la funci on y = 4x2 + 10x + 9 usando el comando subplot y plot2d#.

48

2.5.7.

Gr acas de vectores con plot2d4

Es posible trazar uno o varios vectores en un plano coordenado mediante el comando plot2d4. Se comienza con el trazado de un solo vector, tal como se muestra en el ejemplo 15, en el cual el vector a trazar se halla en la forma de combinaci on lineal de los vectores unitarios i y j, con sus coecientes representando los componentes escalares del vector en cuesti on. Ejemplo 15. Traza el vector v = (4i + 3j ) con plot2d4. Es importante considerar que el vector se trazar a desde el origen, por lo que se crean 2 vectores, vx = [0, 4] y vy = [0, 5]. El c odigo siguiente se introduce para obtener la gr aca de la gura 2.15. vx=[0,4]; //Coordenadas en el eje X vy=[0,5]; //Coordenadas en el eje Y plot2d4(vx,vy,rect=[-1,-1,5,6]) xgrid xtitle("Gr aca 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: Gr aca de un solo vector v = 4i + 5j 49

Para trazar varios vectores se recurre a generar vectores columna que servir an para generar nuevas matrices, como se muestra en el ejemplo 16. Ejemplo 16. Dados los vectores a = [4, 3], b = [3, 5], halla c = a + b , y graca los tres vectores. Escribiendo a y b como una combinaci on lineal de los vectores unitarios i y j , tenemos que c = (4i + 3j ) + (3i + 5j ) = 7i + 8j . El c odigo en Scilab para realizar la gr aca 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 X y=[ay,by,cy]; //Matriz de valores en Y plot2d4(x,y) xgrid xtitle("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.

Gr acas en coordenadas polares. Comando polarplot

Las coordenadas polares se denen con un radio vector r llamado el eje polar y un angulo . Las gr acas polares son gr acas circulares. En Scilab se graca una curva en coordenadas polares al introducir el comando polarplot(radio, angulo). El ejemplo 17 pone en claro el concepto de gr aca en coordenadas polares. El resultado se ve en la gura 2.17. Ejemplo 17. Traza la espiral de Arqu medes r = 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 Arqu medes") a=gca(); a.title.font size=5; 50

Figura 2.16: Gr aca de la suma de 2 vectores

2.5.9.

Gr acas de funciones vectoriales. Comando comet

Mediante una funci on 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 como este, se usa el comando comet(vector x, vector y). En el ejemplo 18 se presenta una espiral trazada con comet. En la gura 2.18 se ve que la curva tiene en uno de los extremos el s mbolo , el cual indica el nal de la trayectoria. Ejemplo 18. Traza la gr aca de la funci on vectorial r(t) = t sin(t) i + t cos(t) j usando el comando comet. Usando ecuaciones param etricas, 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. xgrid xtitle("Gr aca de una funci on 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 Arqu medes

52

Figura 2.18: Gr aca de una funci on vectorial en el plano, usando comet

53

54

CAP ITULO 3 Gr acas de funciones de 2 y 3 variables


3.1. Comando plot3d

Representar una gr aca en tres dimensiones o 3D, de funciones de dos y tres variables manualmente es un trabajo dif cil de realizar, puede consumir mucho tiempo y al mismo tiempo ser tedioso. Un medio num erico de computaci on facilita enormemente el trabajo y permite observar y apreciar en detalle la gr aca, lo que posibilita un mejor an alisis. El comando plot3d, en forma similar al comando plot2d tiene varias opciones para generar gr acas, las variaciones se distinguen como plot3d1, plot3d2 y plot3d3. M as adelante se analizar a cada comando, por ahora, se utilizar a para gracar supercies denidas por funciones de dos variables. Para tal caso, se introducen primero los intervalos de las variables independientes denidos por los vectores x y y , por ejemplo. La funci on z , se introduce de tal forma que se forme una matriz o ret cula en el plano x y , en tal caso se debe generar la transpuesta de x o y , como se ver a en el ejemplo 19. Se escribe luego el comando plot3d(x,y,f(x,y)). Finalmente, se agregan los argumentos y propiedades que har an que la gr aca tenga una adecuada presentaci on. Ejemplo 19. Graca la funci on z = yx2 , denida en 5 < x < 5 y 5 < y < 5. Tanto x como y deben tener el mismo tama no. Con el conocimiento obtenido en los cap tulos previos sobre la forma de presentar adecuadamente una gr aca, ser a m as f acil entender c omo elaborar gr acas 3D. Al c odigo siguiente se le ha agregado t tulo, rejilla y tama no de fuente. En la l nea en la que se ha escrito la funci on, se observa que el vector x2 se multiplica por la transpuesta del vector y . En la gr aca 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) xgrid xtitle("primera gr aca 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 gr aca (al poner el cursor encima aparece la palabra rotar), sirve para rotar la gr aca y as tener una mejor perspectiva. El cono situado a su derecha permite acercamientos en areas (aparecen las palabras Acercar Area) reducidas de la gr aca. El cono en forma de lupa con un n umero 1, restablece la vista original de la gr aca.

Figura 3.1: Gr aca de la funci on 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 para trazar supercies. Con plot3d1 se a naden colores que dieren en tonalidad dependiendo del nivel z de la supercie (ver ejemplo 20). 56

Ejemplo 20. Graca la funci on y = xy , empleando plot3d1. Se graca de forma similar a plot3d, aunque el resultado es distinto en cuanto a la distinci on de los colores. clf() x=-5:0.1:5; y=x; z=x*y; plot3d1(x,y,z) xgrid xtitle(Gr aca 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 gr aca de la gura 3.2. Los colores empleados por denici on al usar plot3d1 son vistosos y pueden cambiarse para hacer que la imagen sea adecuada al prop osito que se especique. Al c odigo anterior hay que agregar la l nea xset(colormap,jetcolormap(32)) para ver en la gura 3.3 c omo cambia el color de forma gradual; para valores de zeta por debajo de 0 tienden al tono azul y para los mayores a 0 tienden al rojo. Por otro lado, la resoluci on de la gr aca se mejora. La tabla 3.1 muestra una variedad de mapas de color disponibles (colormap,opci on de colormap(n umero)).

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 pol gonos de cuatro lados. Ejemplo 21. Trazar la gr aca de supercie denida por la funci on Z = X 2 + Y 2 en los intervalos 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 una circunferencia (ver gura 3.4). clf() x=-2:0.1:2; long=length(x); //Longitud del vector x 57

Figura 3.2: Gr aca de supercie de la funci on z = xy con plot3d1 X=x*ones(1,long); //Matriz X Y=X; //Matriz Y Z=X.^2+Y.^2;//Matriz Z plot3d2(X,Y,Z) xgrid xtitle(Gr aca 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) tambi en se puede trazar una supercie formada por facetas rectangulares, que tienen la propiedad de observarse como una supercie al ambrica (ver ejemplo 22 y gura 3.5).

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

58

Figura 3.3: Misma gr aca de la gura 3.2, a la que se le cambi o el color con la gama jetcolormap

clf() x=-2:0.1:2; long=length(x); //Longitud del vector x X=x*ones(1,long); //Matriz X Y=X; //Matriz Y Z=X.^2+Y.^2; //Matriz Z plot3d3(X,Y,Z) xgrid xtitle(Gr aca 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 gr acas 3D Mapa de colores Gama autumncolormap De rojo a amarillo, pasando por naranja. bonecolormap Gris con tonalidad azul coolcolormap Del cian al magenta coppercolormap De negro a una leve tonalidad cobriza Tonalidad gris graycolormap hotcolormap De rojo a amarillo hsvcolormap Saturaci on de tonalidades jetcolormap De azul a rojo oceancolormap Tonalidad azul pinkcolormap Tonalidad sepia rainbowcolormap De rojo a violeta pasando por naranja, amarillo, verde y azul De magenta a amarillo springcolormap summercolormap De verde a amarillo whitecolormap Totalmente blanco wintercolormap De azul a verde.

3.2.

Ecuaciones param etricas 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 de las curvas param etricas en el espacio. El trazado de tales curvas se realiza con el comando param3d(vector x, vector y, vector z,[argumentos]). Las entradas de los vectores x , y y z , se crean mediante funciones que dependen de otro vector t llamado par ametro. En el ejemplo 23, se traza una curva similar a un resorte. Se ha girado la gr aca con respecto a la horizontal a un angulo de 225 , para que los valores de la gr aca de y y de x se coloquen a la izquierda y derecha de la imagen respectivamente. Ejemplo 23. Trazar la curva (gura 3.6) de la funci on param etrica 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(Gr aca de una ecuaci on param etrica en el espacio,Eje X,Eje Y,Eje Z) a=gca(); a.title.font size=4; 60

Figura 3.4: Gr aca realizada mediante plot3d2 de la supercie denida por la funci on Z = 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. El comando comet3d(vector x, vector y, vector z) permite observar la animaci on del trazado de la curva, siguiendo la trayectoria de uno de sus extremos que tiene la forma . En la Figura 3.7, del Ejemplo 24, se ve que la curva tiene en uno de los extremos el mencionado s mbolo. Ejemplo 24. Trazar la curva de la funci on vectorial r(t) = x(t)i + y (t)j + z (t)k 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; comet3d(x,y,z,color,5) xtitle(Gr aca de una funci on vectorial con comet3d,Eje X,Eje Y,Eje Z) 61

Figura 3.5: Gr aca realizada mediante plot3d3 de la supercie denida por la funci on Z = 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.

Gr aca de una supercie con el comando mesh

Mediante el comando mesh(matriz X, matriz Y, matriz Z) se traza una supercie param etrica usando una ret cula rectangular de coordenadas denida por el par de vectores x y y . Con plot3d y plot3d# se han generado matrices mediante la transpuesta de uno de los vectores. Ahora, en combinaci on con el comando mesh(matriz X, matriz Y, matriz Z), para crear gr acas de supercies se usar a otra opci on para generar matrices, se trata de la meshgrid, usado de esta forma: [matriz X, matriz Y, matriz Z]=meshgrid(vector x, vector odigo para generar una gr aca de supercie con y, vector z). El Ejemplo 25, muestra el c el comando mesh. Ejemplo 25. Trazar la gr aca de la funci on f (x, y ) = mesh (ver el resultado en la Figura 3.8). 62 1 sin (x2 + y 2 ) usando el comando 2

Figura 3.6: Trazado de la funci on param etrica vectorial w(t) = x(t) + y (t) + z (t), donde x(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),xgrid xtitle(Gr aca de una funci on 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.

Gr aca de supercie con el comando surf

En el Ejemplo 26, se trazan dos gr acas de supercie tomadas del Ejemplo 21, pero usando los comandos surf y meshgrid. Adem as, se har a en dos ventanas diferentes, llamadas aco n umero 1 (ver Figura Ventana de gr aco n umero 0 (ver Figura 3.9) y Ventana de gr 3.10). Esta acci on se realiza usando la macro scf(n umero) que signica set the current 63

Figura 3.7: Trazado de la funci on vectorial r(t) = x(t)i + y (t)j + z (t)k , donde x(t) = 4 cos t, y (t) = 4 sin t y z (t) = t, usando el comando comet3d. graphic gure (jar la gura gr aca actual). Mediante la funci on xset, se ha cambiado el mapeo de color para diferenciar ambas guras. Ejemplo 26. Trazar la gr aca de supercie denida por la funci on z = x2 + y 2 en los intervalos 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) xgrid xtitle(Gr aca 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 funci on f (x, y ) =

1 sin (x2 + y 2 ) usando el comando mesh 2

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) xgrid xtitle(Gr aca 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: Gr aca de supercie, de la ventana de gr aco n umero 0 del Ejemplo 26

Figura 3.10: Gr aca de supercie, de la ventana de gr aco n umero 1 del Ejemplo 26

66