Guia_1._Scilab (1) (2)
-
Upload
jacontreras94 -
Category
Documents
-
view
54 -
download
0
Transcript of Guia_1._Scilab (1) (2)
-
Universidad Centroamericana Jos Simen Caas
Mtodos Numricos y Programacin
Introduccin a Scilab
Scilab es un software libre desarrollado, por INRIA-Unit de recherche de Rocquencourt, para
la solucin de sistemas de control, procesamiento de seales y otras aplicaciones matemticas
o clculos ingenieriles de gran complejidad.
Entorno de Scilab.
Una vez se inicia Scilab, se observa que aparecen 4 ventanas internas las cuales se
consideran las principales al momento de estar trabajando en Scilab (vase Ilustracin
1), estas son:
1. Navegador de Archivos (file browser). esta ventana, se observan todas las
carpetas y programas, desde los ejecutables en Scilab hasta los no ejecutables por
l.
2. Consola de Scilab (Console).En esta ventana, se ejecutan todos los comandos de
Scilab as como todo programa que se encuentren guardados en el Navegador de
Archivos.
3. Exploracin de variables (Browsevar). Esta ventana permite la visualizacin del
formato de las variables utilizadas y su contenido.
4. Historial de comandos (Commandhistory). Esta ventana, guarda de forma
ordenada (por fecha y hora de abertura de Scilab) todos los comandos y
caracteres ejecutados en la Consola de Scilab.
Ilustracin 1. Ubicacin de las ventanas de inicio en Scilab
Gua de Laboratorio 1 Ciclo 01/2014
-
Universidad Centroamericana Jos Simen Caas
Mtodos Numricos y Programacin
VARIABLES.
En Scilab, las variables que se pueden utilizar son infinitas dado que este software,
hace distincin de maysculas y minsculas, es decir, a no es igual a A, por lo cual,
se debe estar muy seguro de la variable a la cual se desea hacer referencia.
Por otro lado, los nombres de variables permiten cualquier tipo de combinacin de
letras y nmeros, por lo cual se pueden usar nombres desde a hasta djsadbk325r3,
es de mencionar que un nombre de una variable no puede iniciar con un dato nmero.
Adems, cabe destacar que a partir de este momento, se hablaran de vectores y
matrices por lo cual estos conceptos deben estar lo ms claros posibles.
Una Matriz ser un arreglo de nmeros o caracteres contenidos en una variable. Es
decir, lo que normalmente se conoce como matriz en el mundo de la ingeniera. Sin
embargo, existen matrices que poseen una sola columna o una sola fila, por lo cual a
estos se conocern como vectores.
FORMATO DE VARIABLES.
Al momento de utilizar Scilab para la programacin, es importante conocer en que
formato estn las variables dado que, de esto depender la operacin que se puede
realizar.
Los distintos formatos permiten que las operaciones que se realicen sean las correctas
o que se genere un error dado que el formato no es compatible para la operacin
pedida. Existen varios formatos, pero los ms importantes son:
1. Numrico o double". Este formato permite la realizacin de cualquier
operacin matemtica (suma, resta, multiplicacin, divisin, potenciacin etc).
2. Cadena de caracteres o String. Este formato es que hace referencia a letras o
texto y nmeros. Este se escribe entre comillas o comillas simples
Algo que es muy importante resaltar es que que sea un nmero no implica que est
en formato numrico, es decir, que puede tenerse una variable que contenga
nmeros y este en formato string. Sin embargo, esto no aplica de la misma manera
para los caracteres.
Como dato adicional, al realizar las distintas operaciones con matrices y vectores, es
importante saber los resultados que estas pueden mostrar, estos son:
1. Valor numrico deseado.
2. Inf. Significa infinito, usualmente generado por una divisin entre cero.
3. NaN. Significa Not-a-Number, es decir, no es un nmero ocurre cuando se
llega a una forma matemtica indeterminada como cero entre cero.
Gua de Laboratorio 1 Ciclo 01/2014
-
Universidad Centroamericana Jos Simen Caas
Mtodos Numricos y Programacin
COMANDOS BSICOS e INTRODUCCIN DE VECTORES Y MATRICES.
Como se coment anteriormente, el consola de Scilab es el lugar en donde se
introducir absolutamente todos los comandos, vectores y matrices que deseen
ejecutarse.
En primer lugar, se iniciar con la introduccin vectores y matrices (vase Ilustracin
2Error! No se encuentra el origen de la referencia.). Para introducir asignar un valor
numrico a una variable, simplemente se sigue alguna de las siguientes sintaxis:
Valor numrico nico: Nombre_de_variable=valor_numrico Vector fila : Nombre_de_variable=[valor1,valor2,valor2] Vector columna : Nombre_de_variable=[valor1;valor2;valor2] Matriz: Nombre_de_variable=[valor1,valor2;valor3,valor4]
Ilustracin 2. Sintaxis de vectores y matrices
Para la introduccin de vectores y matrices, es importante no olvidar los corchetes ya
que esto es lo que le da el formato de vector o matriz a la variable. Adems, para
separar los elementos de una misma fila es necesario escribir una coma ( , ) o dejar un
espacio en blanco entre cada elemento. El punto y coma ( ; ) se utilizar en caso se
desee escribir la siguiente fila en caso desee una matriz.
Un detalle muy importante, es que cuando escribimos de esta manera cada variable,
estas van apareciendo inmediatamente en el explorador de variables, es decir, estas
se van guardando automticamente y en caso de no guardarlo en una variable, estas
aparecern guardadas en una variable llamada ans.
En el caso de querer escribir variables con texto, se debe seguir la siguiente sintaxis
(vase Ilustracin 3):
Nombre_de_variable=texto_deseado
Gua de Laboratorio 1 Ciclo 01/2014
-
Universidad Centroamericana Jos Simen Caas
Mtodos Numricos y Programacin
Ilustracin 3. Introduccin de texto
Todas las operaciones matemticas conocidas en el mbito ingenieril estn disponibles
(suma, resta, multiplicacin, divisin, potenciacin, diferenciacin, integracin, etc).
Sin embargo, es importante saber cual desea hacerse y como utilizar cada una de
estas, las cuales se presentan a continuacin:
+ Suma Resta * Multiplicacin / o \ Divisin ^ o ** Potenciacin ' Traspuesta
------------------------------------------------- ------------------------------------------------- .* Producto elemento a elemento .\ Divisin elemento a elemento .^ Potencia elemento a elemento
-------------------------------------------------
Por lo anterior, es importante saber si se desea hacer una operacin elemento a
elemento o si se desea hacer una operacin matricial (vase Ilustracin 4).
Ilustracin 4. Operacin con matrices en Scilab
El trabajar con matrices, hace que se tenga distintos elementos dentro de las mismas,
por lo que es importante saber cmo hacer referencia a cada uno de los elementos en
caso de solo necesitar 1 y no todos, para ello se utiliza la siguiente sintaxis:
variable(fila,columna) ; sin embargo, los elementos en una matriz se numeran
correlativamente en columnas (vase Ilustracin 5 e Ilustracin 6 para ver
grficamente), por lo que se puede seguir la sintaxis equivalente:
variable(nmero_correlativo).
Gua de Laboratorio 1 Ciclo 01/2014
-
Universidad Centroamericana Jos Simen Caas
Mtodos Numricos y Programacin
A
(1,1) (1,2) (1,3)
(2,1) (2,2) (2,3)
(3,1) (3,2) (3,3)
Ilustracin 5. Numeracin de elementos en matrices
Ilustracin 6. Numeracin de elementos en Scilab
Otras notaciones tiles son:
- A(2,:): el resultado sern los datos de la matriz A comprendidos de la fila 2 y
todas las columnas (todos los elementos de la segunda fila).
- A(:,3): resultado sern los datos de la matriz A comprendidos de todas las filas y
la columna 3 (todos los elementos de la tercera columna).
- A(2:3,1:2): el resultado sern los datos de la matriz A comprendidos de las fila 2
a 3 y columna 1 a 2.
Comandos de salida de datos.
Scilab cuenta con varios comandos para salida de datos, nos centraremos en 2 que son
los ms comunes y por lo tanto lo ms usados uno es disp y el otro es mprintf.
o Disp
Disp es la abreviacin de display, es un comando para mostrar variables de salida o
un texto cualquiera. Queda a opcin del programador ya utilizarlo para mostrar un
texto o una variable dando la capacidad de mostrar ms de un dato a la vez,
pudindose mezclar entre variables y texto. Su sintaxis es de la siguiente manera:
disp(texto descriptivo,texto descriptivo 2,variable1,variable2,)
A
(1) (4) (7)
(2) (5) (8)
(3) (6) (9)
Gua de Laboratorio 1 Ciclo 01/2014
-
Universidad Centroamericana Jos Simen Caas
Mtodos Numricos y Programacin
Ilustracin 7. Ejemplo de uso disp.
En la ilustracin 7 podemos ver un uso de este, en el cual se combino una
variable previamente definida con una texto descriptivo, es de mencionar el
orden en que los muestra siempre iniciara del ltimo al primero para mostrarlo
y los muestra en distinta lnea siempre.
o mprintf
Contamos con otro comando para salida de datos, este difiere del disp al permitir
mezclar texto con una variable en la misma lnea. La virtud de poder mezclar un
texto con una variable permite mostrar de una manera ms agradable la respuesta
al usuario del programa. Su sintaxis es la siguiente:
mprintf (texto %5.2f texto adicional %2.4f, variable1,variable2)
En su sintaxis cuando se escribe el signo % le indicada a Scilab que ir una
variable ah siempre y cuando se termine con un carcter de conversin el cual en
su sintaxis es f. En medio del % y la f se sitan los siguientes nmeros que
dependen del programador e indican en cada caso:
1 caso: 5.2 indica que se desean 5 espacios designados para colocar el
contenido de las variables con 2 decimales.
2 caso: 2.4 indica que se desean 2 espacios designados para colocar el
contenido de las variables con 4 decimales.
Estos casos se cumplirn siempre y cuando el dato numrico lo permita al no
cambiarle de valor.
mprintf consta de las siguientes herramientas que son los caracteres de
conversin y los caracteres de escape.
Dentro de los caracteres de conversin ms comunes tenemos:
o e: Notacin exponencial en minsculas (ej. 1.709098e+001).
o E: Notacin exponencial en maysculas (ej. 1.709098E+001).
o f: Notacin de punto fijo (ej. 17.090980).
o g: Representacin en formato corto de las notaciones e o f.
o G: Representacin en formato corto de las notaciones E o f.
Gua de Laboratorio 1 Ciclo 01/2014
-
Universidad Centroamericana Jos Simen Caas
Mtodos Numricos y Programacin
o i: Aproximacin entero menor.
o d: Aproximacin al entero menor.
Mientras que los caracteres de escape ms comunes tenemos:
\t Espaciado horizontal (Horizontal tab) \n Cambio de lnea
Ilustracin 8. Ejemplo en el uso de mprintf.
Comandos de entrada de datos.
Unos comandos para entrada de datos es el input, este comando se utiliza para que
el programa que este ejecutando el usuario le pregunte los datos que necesita como
entradas, tiene 2 tipos de sintaxis:
- Var1=input(texto o pregunta complementaria,s)
Al terminar con la s estoy obligando que el dato que se guardara en la variable Var1
se guardara en formato String, es decir una cadena de caracteres.
- Var2=input(texto o pregunta complementaria)
El dato que ingrese el usuario se guardara en la variable Var2 de forma numrica
(doubl), si se ingresara caracteres no numricos dar un error ya que nos los
reconocer.
Ilustracin 9. Ejemplo de uso del comando input
Uso de Scinote
En el men superior de Scilab, justo debajo del men de archivo esta un botn que
nos permite abrir Scinotes. Al acceder a ella se ejecutara una ventana nueva.
Gua de Laboratorio 1 Ciclo 01/2014
-
Universidad Centroamericana Jos Simen Caas
Mtodos Numricos y Programacin
Ilustracin 10. Ventana de una Scinote.
La nueva ventana de Scinote es como un editor que nos permite escribir lneas de
cdigo con el fin de poner ciertas ordenes lgicas y realizar un programa que resuelva
la problemtica de nuestro inters.
Al momento de comenzar a programar es necesario plantear varios pasos bsicos los
cuales son:
o Identificar el problema que se plantea programar.
o Definir qu datos son necesario como entradas para resolver el problema y
cules sern las variables de salida con el problema ya resuelto.
o Desarrollar un algoritmo. Un algoritmo es la descripcin paso a paso que me
llevara a resolver mi problema. En caso de ser un programa muy corto no es
necesario un algoritmo muy exhaustivo pero si es un programa muy extenso se
vuelve muy til.
Ejercicio:
Dentro de un Scinote (Editor) realiza el siguiente programa que calcula las notas finales
de la materia de mtodos numricos y programacin.
//Programa para el clculo de nota. nombre=input('Ingrese el nombre de la materia: ','s') labo=input('Ingrese nota de laboratorio: ') tareas=input('ingrese nota de tareas: ') exam1=input('ingrese nota de parcial 1: ') exam_final=input('ingrese nota de examen final: ') proyect=input('ingrese nota de proyecto: ') disp('-------------',nombre,'--------------') mprintf(' Primer Parcial (2.5) Examen final (2.5) Laboratorios (1.5) Tareas (1.5) Proyecto (1.5)\n') mprintf('%12.2f%19.2f%20.2f%17.2f%14.2f',exam1,exam_final,labo,tareas,proyect) nota_final=exam1*0.25+exam_final*0.25+labo*0.15+tareas*0.15+proyect*0.15; disp(nota_final,'Su nota final ser:')
Gua de Laboratorio 1 Ciclo 01/2014
-
Universidad Centroamericana Jos Simen Caas
Mtodos Numricos y Programacin
COMANDOS BSICOS.
En Scilab, existen una infinidad de comandos, pero entre los ms bsicos se
encuentran los siguientes con sus respectivas sintaxis:
o abs(a). valor absoluto de a.
o det(x). calcula el determinando de una matriz cuadrada x.
o diag(x). extrae la diagonal principal de una matriz x.
o exp(a) o %e^a. exponencial del nmero a.
o %i. Indica que el nmero es imaginario (-1)
o inv(x). Calcula la matriz inversa de x.
o isnan(a). evala si el contenido de la variable a es NaN devolviendo un T si
es as, sino devuelve F.
o isreal(a).evala el contenido de la variable a y si es un nmero real,
Devuelve un T, sino devuelve F.
o fix(x). redondea al entero menor un numero x.
o length(a). devuelve el tamao del vector a, es decir un nmero que hace
referencia al nmero de elementos en el vector.
o linspace(a,b,n). genera un vector con n elementos, que inicia en el nmero
a y termina en b.
o log(a). logaritmo natural del nmero a.
o log10(a): logaritmo base 10 del nmero a.
o max(x). valor mximo de un vector o matriz x.
o [n,m]=max(x). valor mximo de un vector o una matriz en donde n ser el
nmero mayor y m las coordenadas de donde se encuentra.
o module(x,y). Realiza la divisin de x/y y devuelve el residuo de esta.
o min(x). valor mnimo de un vector o matriz x.
[n,m]=min(x).valor mnimo de un vector o una matriz en donde n ser el
nmero mnimo y m las coordenadas de donde se encuentra.
o ones(a,b): forma una matriz de ceros de a filas y b columnas.
o %pi. Devuelve el valor del nmero pi.
o size(a). devuelve el tamao de la matriz a, es decir, dos nmeros que se
refieren a cuantas filas y columnas, respectivamente, tiene la matriz.
o sin(a), cos(a), tan(a). funciones trigonomtricas1 de la variable a.
o asin(a), acos(a), atan(a). funciones trigonomtricas inversas de la variable a.
o sqrt(a). raz cuadrada del nmero a.
o sum(a). realiza la sumatoria de todos los elementos de a.
o zeros(a,b). forma una matriz de ceros de a filas y b columnas.
1Scilab trabaja por default en radianes.
Gua de Laboratorio 1 Ciclo 01/2014