QUE ES SCILAB?
Scilab es un software matemático, con un lenguaje de programación de alto nivel, para cálculo científico, interactivo de libre uso y disponible en múltiples sistemas operativos (Mac OS X, GNU/Linux, Windows). Desarrollado por INRIA (Institut National de Recherche en Informatique et en Automatique) y la ENPC (École Nationale des Ponts et Chaussées) desde 1990, por Scilab Consortium dentro de la fundación Digiteo desde 2008, Scilab es ahora desarrollado por Scilab Enterprises desde julio 2012.
Scilab fue creado para hacer cálculos numéricos aunque también ofrece la posibilidad de hacer algunos cálculos simbólicos como derivadas de funciones polinomiales y racionales. Posee cientos de funciones matemáticas y la posibilidad de integrar programas en los lenguajes más usados (Fortran, Java, C y C++). La integración puede ser de dos formas: por ejemplo, un programa en Fortran que utilice Scilab o viceversa. Scilab fue hecho para ser un sistema abierto donde el usuario pueda definir nuevos tipos de datos y operaciones entre los mismos.
Scilab viene con numerosas herramientas: gráficos 2-D y 3-D, animación, álgebra lineal, matrices dispersas, polinomios y funciones racionales, Simulación: programas de resolución de sistemas de ecuaciones diferenciales (explícitas e implícitas), Xcos: simulador por diagramas en bloque de sistemas dinámicos híbridos, Control clásico, robusto, optimización LMI, Optimización diferenciable y no diferenciable, Tratamiento de señales, Grafos y redes, Scilab paralelo empleando PVM, Estadísticas, Creación de GUIs, Interfaz con el cálculo simbólico (Maple, MuPAD), Interfaz con TCL/TK.
Además se pueden agregar numerosas herramientas o toolboxes hechas por los usuarios como Grocer una herramienta para Econometría u Open FEM (Una caja de Herramientas para Elementos Finitos), hecha por INRIA.
MÉTODOS CERRADOS
Para resolver las raíces de ecuaciones se
ocupa de métodos que aprovechan el hecho de que una función cambia de signo en la vecindad de una raíz. A estas técnicas
se les llama métodos cerrados, o de intervalos, porque se necesita de dos valores
iniciales para la raíz. Como su nombre lo indica, dichos valores iniciales deben
"encerrar", o estar a ambos lados de la raíz. Los métodos particulares descritos aquí emplean diferentes
estrategias para reducir sistemáticamente el tamaño del intervalo y así converger
a la respuesta correcta.
Como preámbulo de
estas técnicas se analizarán los métodos gráficos para representar tanto las funciones como sus raíces. Además de la utilidad de los
métodos gráficos para determinar valores iniciales, también son útiles para visualizar las
propiedades de las funciones y el comportamiento de los diversos métodos numéricos.
Cuando f(x) cambió de signo a ambos lados de la raíz. En general, si f(x) es real y
continúa en el
intervalo que va desde xl hasta xu y f(x1) y f(xu) tienen
signos opuestos, es decir:
f(x1),f(xu)< 0
Entonces hay al menos una raíz real entre x1 y
xu.
Los métodos de
búsqueda incremental aprovechan esta característica localizando un intervalo en el que la función cambie de signo. Entonces, la localización
del cambio de signo (y, en consecuencia, de la raíz) se logra con más exactitud al dividir
el intervalo en varios subintervalos. Se investiga cada uno de estos subintervalos para
encontrar el cambio de signo. El proceso se repite y la aproximación a la raíz mejora
cada vez más en la medida que los subintervalos se dividen en intervalos cada vez más
pequeños.
El método de bisección, conocido también como
de corte binario, de partición de intervalos o de Bolzano, es un tipo de búsqueda incremental en el que el
intervalo se divide siempre a la mitad. Si la función cambia de signo sobre un intervalo, se
evalúa el valor de la función en el punto medio. La posición de la raíz se determina
situándola en el punto medio del subintervalo, dentro del cual ocurre un cambio de signo. El
proceso se repite hasta obtener una mejor aproximación.
EJEMPLO
Determine las raíces reales de la función f(x)= (0.8-0.3x)/x.
Utilice el método de la bisección para localizar la raíz más pequeña. Use los valores iniciales xa= 1 y xb=3 con un error máximo de 0.1.
Utilice el método de la bisección para localizar la raíz más pequeña. Use los valores iniciales xa= 1 y xb=3 con un error máximo de 0.1.
DATOS
xa=1 (Limite inferior de la función xi)
xb=3 (Limite superior de la función xs)
error anterior = 0
emax=0.1
MÉTODO ANALÍTICO
MÉTODO ANALÍTICO
Primera Iteracción
xr=(xa+xb)/2
xr=(1+3)/2
xr=2
error=|(xr-error anterior)/xr|* 100%
error=|(2-0)/2|*100%
error=100%
Segunda Iteracción
xr=(2+3)/2
xr=2.5
error=|(2.5-2)/2.5|*100%
error=20%
Tercera Iteracción
xr=(2.5+3)/2
xr=2.75
error=|(2.75-2.5)/2.75|*100%
error=9.09091%
Cuarta Iteracción
xr=(2.5+2.75)/2.5
xr= 2.625
error=|(2.625-2.75)/2.625|*100%
error=4.76190%
Quinta Iteracción
xr=(2.625+2.75)/2.625
xr= 2.68750
error=|(2.68750-2.625)/2.68750|*100%
error=2.32558%
Sexta Iteracción
xr=(2.625+2.68750)/2.625
xr= 2.65625
error=|(2.65625-2.68750)/2.65625|*100%
error=1.17647%
Septima Iteracción
xr=(2.625+2.68750)/2.625
xr= 2.67188
error=|(2.67188-2.65635)/2.67188|*100%
error=0.58480%
Octava Iteracción
xr=(2.625+2.67188)/2.625
xr= 2.66406
error=|(2.66406-2.67188)/2.66406|*100%
error=0.29326%
Novena Iteracción
xr=(2.66406+2.67188)/2.66406
xr= 2.66797
error=|(2.66797-2.66406)/2.66797|*100%
error=0.14641%
Decima Iteracción
xr=(2.66406+2.66797)/2.66406
xr= 2.66602
error=|(2.66602-2.66797/2.66602|*100%
error=0.07326%
UTILIZANDO EL PROGRAMA SCILAB
Realizaremos a continuación estos sencillos pasos.
1) Debemos de tener instalado el programa de scilab en nuestro ordenador....
2) Luego de descargar y descomprimir el programa, procedemos a abrir el archivo Bisección_caso1.sce
Donde nos pedirá ingresar la función f(x), el límite Inferior xa, el límite Superior xb y el error Máximo emax como parámetros..... En este caso tomaremos los datos del ejemplo de arriba.
1) Debemos de tener instalado el programa de scilab en nuestro ordenador....
2) Luego de descargar y descomprimir el programa, procedemos a abrir el archivo Bisección_caso1.sce
3) Nos aparecerá una pantalla como se muestra a continuación.
4) Hacemos click en Ejecutar archivo sin eco....
5) Finalmente nos saldrá una pantalla como se muestra a continuación......
Gráfica Error vs Iteracción
Nota:
-Prueba con otras funciones f(x) no solo con las que te mostramos en el ejemplo.
-Recuerda al momento de ingresar el limite inferior y el limite superior debes ser un intervalo que contenga a la raíz,
-Si te descargas Método de la Bisección por error, el error será la variable a que controle el programa, si por el contrario encojes Método de la Bisección por iteracción será logico que ahora nuestra variable será controlada por la iteracción.
!Espero que te sirva de mucha ayuda!.
CLICK AQUI PARA DESCARGAR MÉTODO BISECCIÓN POR ERROR
CLICK AQUI PARA DESCARGAR MÉTODO BISECCIÓN POR ITERACCIÓN
!Espero que te sirva de mucha ayuda!.
CLICK AQUI PARA DESCARGAR MÉTODO BISECCIÓN POR ERROR
CLICK AQUI PARA DESCARGAR MÉTODO BISECCIÓN POR ITERACCIÓN
LINKS DE INTERÉS
- Métodos Numéricos para Ingenieros – Steven Chapra, Raymond P. – 5ta
- Manual en español de Programación Scilab