lunes, 4 de junio de 2012

NEWTON-RAPHSON (SECANTE)

En análisis numérico, el método de Newton (conocido también como el método de Newton-Raphson o el método de Newton-Fourier) es unalgoritmo eficiente para encontrar aproximaciones de los ceros o raíces de una función real. También puede ser usado para encontrar el máximo o mínimo de una función, encontrando los ceros de su primera derivada.



Este método se puede obtener mediante el siguiente gráfico:
Métodos Numéricos
Si el valor inicial de la raíz es xi , podemos trazar una tangente desde el punto { xi, f(xi) }.
El punto donde está tangente cruza el eje x, representa una aproximación de la raíz.
De la figura la primera derivada es x , es equivalente a la pendiente.
f´(x) = f(xi) - 0
xi - xi + 1
Reordenando:
Xi +1 = xi - f(xi) Fórmula de Newton-Raphson ( 2.9 )
f´( xi )
Esta ecuación también puede obtenerse mediante la serie de Taylor.
f(x1 +1) + f(xi) +f´(xi)h +f” (xi)h2+ f”'(xi)h3 + .....fn(xi)hn
2! 3! n!
Truncando la serie de Taylor hasta la primera derivada:
f(x1 +1) = f(xi) +f´(xi) (x1 +1 - xi)
en el que se intersecta con el eje x, f(x1 +1) = 0
0 = f(xi) +f´(xi) (x1 +1 - xi)
Xi +1 = xi - f(xi) que es la ec. ( 2.9 )

Cita:

PUNTO FIJO (REGLA FALSA)

En cálculo numérico, el método de regula falsi (regla falsa) o falsa posición es un método iterativo de resolución numérica de ecuaciones no lineales. El método combina el método de bisección y el método de la secante



Se busca una solución de la ecuación f(x) = 0, una raíz de f. Como en el método de bisección, se parte de un intervalo inicial [a0,b0] con f(a0) y f(b0) de signos opuestos, lo que garantiza que en su interior hay al menos una raíz. El algoritmo va obteniendo sucesivamente en cada paso un intervalo más pequeño [ak, bk] que sigue incluyendo una raíz de la función f.

A partir de un intervalo [ak, bk] se calcula un punto interior ck:

 c_k = \frac{f(b_k)a_k-f(a_k)b_k}{f(b_k)-f(a_k)}

Dicho punto es la intersección de la recta que pasa por (a,f(ak)) y (b,f(bk)) con el eje de abscisas (igual a como se hace en el método de la secante).
Se evalúa entonces f(ck). Si es suficientemente pequeño, ck es la raíz buscada. Si no, el próximo intervalo [ak+1, bk+1] será:
  • [ak, ck] si f(ak) y f(ck) tienen signos opuestos;
  • [ck, bk] en caso contrario.

Es quema gráfico de la convergencia de la iteración del punto fijo:
Métodos Numéricos
Use el método de aproximaciones sucesivas ( iteración del punto fijo para localizar la raíz de f (x) = e-x - x, x0 = 0, Ea = 0.5% )
X = e-x = g ( x )
X1 + 1 = e-xi
X0 = 0, x1 = e-0 = 1 ; x1 = 1
X2 = e-x1 = e-1 = 0.367879
X3 = e-x2 = e-0.367879 = 0.692200
X4 = e-x3 = e-0.692200 = 0.500473
X5 = e-x4 = e-0.500473 = 0.606243
X6 = e-x5 = e-0.606243 = 0.545396
X7 = e-x6 = e-0.545396 = 0.579612
Métodos Numéricos
I
xi
Ea (%)
0
1
171.83
1
0.367879
46.9
2
0.692200
38.3
3
0.500473
17.4
4
0.606243
*
*
0.579612
*
12
0.566400
0.355


Cita:

martes, 13 de marzo de 2012

BISECCION

El método de la bisección o corte binario es un método de búsqueda incremental que divide el intervalo siempre en 2. 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 donde exista cambio de signo. El proceso se repite hasta mejorar la aproximación.


Paso 1


Elegir los valores iniciales Xa y Xb, de tal forma de que la función cambie de signo:

f(Xa)f(Xb) < 0


Paso 2


La primera aproximación a la raíz se determina con la fórmula del punto medio de esta forma:



Paso 3


Realizar las siguientes evaluaciones para determinar el intervalo de la raíz:
Si f(Xa)f(Xb) < 0, entonces la solución o raíz está entre Xa y Xpm, y Xb pasa a ser el punto medio (Xpm).
Si f(Xa)f(Xb) > 0, entonces la solución o raíz está fuera del intervalo entre Xa y el punto medio, y Xa pasa a ser el punto medio (Xpm).


Paso 4


Si f(Xa)f(Xb) = 0 ó Error = | Xpm – Xpm – 1 | < Tolerancia

Donde Xpm es el punto medio de la iteración actual y Xpm – 1 es el punto medio de la iteración anterior.
Al cumplirse la condición del Paso 4, la raíz o solución es el último punto medio que se obtuvo.

Para el error relativo porcentual se tiene la siguiente fórmula:






Cita:
http://lc.fie.umich.mx/~calderon/programacion/notas/Bisecciones.html
http://www.vidaamarilla.com/2009/01/mtodos-numricos-mtodo-de-la-biseccin.html
http://www.tonahtiu.com/notas/metodos/ec_nolineales_biseccion.htm

MÉTODOS PARA ENCONTRAR RAICES REALES

Existen diversos metodos para poder encontrar raices reales en una funcion,  aqui se mostrara una lista de ellos, solo se mostrara con pocos detalles cada metodo, mas adelante se hablara con mas detalle cada metodo.

LEY DE LOS SIGNOS DE DESCARTES

La regla de los signos de Descartes nos ayuda a identificar el número posible de raices reales de un polinomio p(x) sin graficar o resolverlas realmente. Dese cuenta por favor que esta regla no proporciona el número exacto de raíces del polinomio ni identifica las raíces del polinomio.
La regla establece que el número posible de las raíces positivas de un polinomio es igual al número de cambios de signo en los coeficientes de los términos o menor que los cambios de signo por un múltiplo de 2.
Por ejemplo, si hay 3 cambios de signo en los coeficientes de los términos del polinomio, entonces el número posible de raíces positivas del polinomiao es 3 o 1.
[Antes de aplicar la regla de los signos de Descartes, asegúrese de arreglar los términos del polinomio en orden descendente de exponente]
Ejemplo:
Encuentre el número de las raíces positivas del polinomio.
x3 + 3 x2 – x – x4– 2
Arregle los términos del polinomio en orden descendente de los exponentes:
– x4 + x3 + 3 x2– x – 2
Cuente el número de cambios de signo:
Hay 2 cambios de signo en el polinomio, así que el número posible de raíces positivas del polinomio es 2 o 0.

Corolario de la regla de los signos de Descartes:

Primero reescriba el polinomio dado al sustituir – x por x . Esto es igual a anular los coeficientes de los términos de las potencias impares.
La regla del corolario establece que el número posible de las raíces negativas del polinomio original es igual al número de cambios de signo (en los coeficientes de los términos después de anular los términos de las potencias impares) o menor que los cambios de signo por un múltiplo de 2.
Ejemplo
Encuentre el número posible de raíces reales del polinomio y verifique.
x3– x2– 14 x + 24
Los términos del polinomio ya están en el orden descendente de exponentes.
Cuente el número de cambios de signo:
Hay 2 cambios de signo en el polinomio y el número posible de raíces positivas del polinomio es 2 o 0.
Digamos que el polinomio dado es f(x) y sustituya – x por x en el polinomio y simplifique:
Cuente el número de cambios de signo:
Hay 1 cambio de signo en el segundo polinomio. Así, del corolario de la regla de los signos de Descartes, el número posible de raíces negativas del polinomio original es 1.
El polinomio puede ser reescrito como: ( x – 2)( x – 3)( x + 4)
Podemos verificar que hay 2 raíces positivas y 1 raíz negativa del polinomio dado.
Dese cuenta por favor que las raíces repetidas de un polinomio son contadas por separado.
Por ejemplo, el polinomio
( x – 2)2 , que puede ser escrito como x2 – 2 x + 1, tiene 2 cambios de signo. Por lo tanto, el polinomio tiene 2 raíces positivas.




Cita:
http://www.scribd.com/doc/22392553/Ley-de-Signos-de-Descartes
http://hotmath.com/hotmath_help/spanish/topics/descartes-rule-of-signs.html
http://1cm1.site11.com/algebra/algebra3d/DETERMINACION_DE_RAICES.pdf

TEOREMA FUNDAMENTAL DEL ALGEBRA

El Teorema Fundamental del Algebra (TFA) dice que todo polinomio a coeficientes complejos tiene un raíz compleja, es decir existe un número complejo donde el polinomio evalua a cero. Hay muchas demostraciones de este importante resultado. Todas requieren bastantes conocimientos matemáticos para formalizarlas. Sin embargo, si se deja de lado algo del rigor matemático, hay argumentos simples y creibles, que le permiten a uno convencerse de la veracidad del TFA. Nuestro objetivo es presentar a continuación uno de estos argumentos.
Consideremos entonces un polinomio P(z) cualquiera de grado n. Luego, su n-ésimo coeficiente Pn no puede ser igual a 0. Si P(0)=0, estarímos listos pues tendríamos que 0 es una raíz de P. Supondremos entonces que se tiene el caso no trivial, es decir, que P(0) no es 0. Notar que esto significa que P0 es distinto de 0, puesto que P(0)=P0.
Sea Cr al conjunto de números complejos de módulo r, i.e., Cr= { z : |z|=r }. Geométricamente dichos números están ubicados en un círculo de radio r en torno al origen del plano complejo. Por ejemplo, si r=1, entonces Cr es:

Sea además P(Cr) la imágen a través de P de Cr, i.e., P(Cr)={ P(z) : |z|=r }. Observar que P(Cr) es una curva cerrada. ¿Porqué? Observar también que si r es suficientemente pequeño (cuán pequeño dependerá de los valores de los coeficientes del polinomio P), entonces todo elemento de P(Cr) estará muy cerca de P0 en el plano complejo y el origen del plano complejo estará en el "exterior" de la curva P(Cr). ¿Porqué? Por ejemplo, si P(z)=(2+2I)-1.5*·z+2I·z2+I·z3 y r=0.75, entonces P(Cr) es:

Por el contrario, si R es suficientemente grande (nuevamente, cuán grande dependerá de los valores de los coeficientes del polinomio P), entonces P(CR) se parecerá a n círculos del plano complejo centrados en P0 y el origen del plano complejo estará en el "interior" de P(CR). ¿Porqué? Por ejemplo, si P(z)=(2+2I)-1.5*·z+2I·z2+I·z3 y R=8.0, entoncesP(CR) es:

Si hacemos que µ varíe entre r y R en forma contínua y estamos dispuestos a aceptar que en dicho caso P(Cµ) varía en forma contínua desde P(Cr) a P(CR), tendremos que el origen pasa de estar al "exterior" de la curva inicial al "interior"de la curva final --- necesariamente en alguno de los valores intermedios de µ, tiene que suceder que P(Cµ) pasa sobre el origen, i.e., existe un valor de z para el cual el polinomio P(z) se anula o lo que es lo mismo, P(z) posee una raíz. Se concluye que el TFA aplica a P(z) como queríamos comprobar.

Cita:
http://www.ugr.es/~eaznar/FTA.htm
http://www.dim.uchile.cl/~mkiwi/applets/tfa/
http://www.google.com.mx/url?sa=t&rct=j&q=&esrc=s&source=web&cd=6&cts=1331633367049&ved=0CHgQFjAF&url=http%3A%2F%2Fwww-history.mcs.st-and.ac.uk%2FHistTopics%2FFund_theorem_of_algebra.html&ei=0RxfT_WcDqPm2gXjrY2tCA&usg=AFQjCNEPG--WOLL77Khc03qdKADSRxJrLw&sig2=ygQe9Z3pJIfoWqeZo0OmTA

GRAFICADOR XY

Graficador XY

En el modo gráfico existe una enorme cantidad de funciones que realizan desde la tarea mas sencilla como es pintar un píxel, hasta la tarea mas compleja como pudiera ser dibujar un carácter por medio de trazos.
Para trabajar el modo gráfico es necesario incluir la librería graphics.h como hacer uso de la BGI (Borlan Graphics Interphase). Para usar cualquier función es necesario colocar el adaptador de video en modo grafico y esto se logra a través de la función initgraph(); y al terminares necesario regresar al modo original a través de la función closegraph();

Para iniciar un programa en ambiente gráfico es recomendable correr una subrutina de inicialización de gráficos y detección de errores.Algunos ejemplos de las funciones que se pueden encontrar en la librería de gráphics.h son:
Line(); circle(); arc(); elipse();rectangle(); ottextxy(); putpixel();Para saber mas de las funciones de la librería de gráficos lo pueden buscar en el índice de turbo C.

ESTRUCTURA DEL PROGRAMA

#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
int main(void)
{
VARIABLES PARA INICIALIZAR MODO GRAFICO
int gdriver = DETECT, gmode, errorcode;
INICIALIZAR MODO GRAFICO
initgraph(&gdriver, &gmode, "");
DETECTA SI HAY ALGUN ERROR PARA USAR MODO GRAFICO
errorcode = graphresult();
if (errorcode != grOk)
{
printf("Graphics error: %s\n", grapherrormsg(errorcode));
printf("Press any key to halt:");
getch();
exit(1);
}
line(0, 0, 50,50 ); DIBUJA UNA LINEA
getch();
closegraph(); CERRAR MODO GRAFICO
return 0;
}
FUNCIONES PARA DIBUJAR
cleardevice(void); LIMPIA LA PANTALLA
setcolor(int color); COLOR DE LINEA
setbkcolor(int color); COLOR DE FONDO (PANTALLA)

TAMAÑO O RESOLUCION DE LA PANTALLA 640X480 PIXELS
line(int x1, int y1, int x2, int y2); DIBUJA UNA LINEA
rectangle(int left, int top, int right, int bottom); DIBUJA UN RECTANGULO
rectangle(izqierda,arriba,derecha,abajo);

putpixel(int x, int y, int color); PINTA UN PIXEL
outtextxy(int x, int y, char far *textstring); DIBUJA TEXTO
outtextxy(100,100,”Programa 1”);
settextstyle(int font, int direction, int charsize); TIPO DE LETRA A USAR
settextstyle(tipo letra, direccion, tamaño letra);

TIPOS DE LETRA (FONT)
0 DEFAULT_FONT
1 TRIPLEX_FONT
2 SMALL_FONT
3 SANS_SERIF_FONT
4 GOTHIC_FONT
DIRECTION
0 HORIZ_DIR
1 VERT_DIR
settextjustify(int horiz, int vert); JUSTIFICAR TEXTO

HORIZ
0 LEFT_TEXT IZQUIERDA
1 CENTER_TEXT CENTRADO
2 RIGHT_TEXT DERECHA
VERT
0 BOTTOM_TEXT ABAJO
1 CENTER_TEXT CENTRADO
2 TOP_TEXT ARRIBA
RELLENADO DE FIGURAS
floodfill(int x, int y, int border); RELLENAR FIGURA
setfillstyle(int pattern, int color); TIPO DE RELLENO Y COLOR A USAR


Cita:
http://fooplot.com/?lang=es
http://neoparaiso.com/logo/graficador-de-funciones.html
http://www.soarem.org.ar/Documentos/24%20Leston.pdf