Академический Документы
Профессиональный Документы
Культура Документы
1
PROGRAMACION II
CONTENIDO:
1.1Errores.
1.2Números de punto flotante.
1.3Programación de errores.
Unidad II: Algoritmos para dar solución a ecuaciones de una variable real.
2
UNIDAD I: ARITMETICA DE PUNTO FLOTANTE
INTRODUCCION:
Ejemplo:
2007340039
X43
---------------
6022020117 20 multiplicaciones
8029360136 12 sumas
---------------
86315621677
Son el número de dígitos que pueden ser usadas con confianza es decir,
la cantidad de números que se designan formalmente la confiabilidad de
un valor numérico.
• Precisión:
• Exactitud:
• Error:
X´= x+ex
X´= valor aproximado
X = valor exacto
3
ex= error absoluto
• Error absoluto:
ex= |x´-x|
• Error relativo:
er= ex/x
Ejemplo:
℮x remache = |9 – 10| = 1 cm
Error relativo
4
NUMEROS DE PUNTO FLOTENATE
m = mantisa o fracción
R = base del sistema numérico
e = exponente
5
El estándar define tres formatos.
Precisión sencilla con 32 bits, doble precisión con 64 bits y precisión extendida
de 80 bits. Los formatos de precisión simple y doble emplean la base dos para
fracciones y notación de exceso para exponentes. Los formatos se muestran en
las siguientes figuras.
Precisión sencilla
Precisióndoble
6
NORMALIZADO
DESNORMALIZADO
CERO
INFINITO
NINGUN NÚMERO
EJERCICIO:
1) 6.12510= 110.001
Signo = 02 (positivo)
Exponente = 1.1001 X
Exponente = 1.1001 X 22
= 2 + 127 = 12910= 1000 00012
Fracción = 10012
IEEE =
7
PROGRAMA PARA LA CONVERSION IEEE 754 1985 A DECIMAL EN BORLAND
C++
/decimal IEEE/
Void_main (){
Float *a;
Printf
Scanf (“%f”, & a);
printf(“IEEE = %p (hexa)”, a);
}
/IEEE decimal/
Void main () {
Int * a;
Float *s;
Printf
Scanf (“%x%x”, a++,a);
S= (float *)a;
Printf (“DEC=%g”, *s);
}
SUMA.
RESTA.
Cuando se restan dos números casi iguales se produce un error relativo grande.
División.
8
Cuando se puede dividir entre un número muy pequeño puede causar sobre
flujo.
Errores de salida.
*propagación de errores
Suma.
Error|(a’+b´)-(a+b)|
Resta Error |(a’-b´)-(a-b |
Multiplicación el error depende del número de operaciones
División suma y resta que se realicen
Inestabilidad.
9
UNIDAD 2: SOLUCION DE ECUASIONES NO LINEALES.
Ecuación cuadrática
x=-b±b2-4ac2a
Método numérico grafico.
Método numérico.
Teorema:
10
Teorema: Raices complejas.
Ejemplos:
3x3-6x+7= 0
Analisis:
a) Nulas.
Tiene cero raices nulas porque tiene el termino independiente.
b) Positivas.
[+,-,+] => dos cambios de signo
Tiene 2 o´0 raices positivas
c) Negativas.
F(X)= 0 3x3-6x+7= 0
[-,*,+] => 1 cambio de signo
Tiene 1 o´-1 raices negativas
Conclusiones:
La ecuacion tiene las siguientes raices: 0 nulas, 2 positivas y una negativa.
Metodos de biseccion.
11
er= Xnueva-XanteriorXnueva
Criterios de paro.
Ejemplo:
1) a=0 y b=1
a = -0.5 b= 0.625
x4a+b2= 0.5+0.6252 = 0.5625
f(x)4 = 0.00728
Er = 11.11% => si hubo cambio de signo
5) [0.5625, 0.625]
x5 = 0.59375
f(x)5 = -0.04149 raiz => x3 = 0.59375
Er = 5.26% x0 = 0.56714329
12
# include math.h
folat f (float x){
return (exp(-x)-x);
}
void biseccion (float a, float b, float ex){
float xa,xn,fx,e;
int i;
xa= (a+b)/2;
for (i =0; i <100; i ++){
fx = f(xa);
If (fx ==0.){
printf (“raiz =%g ”, xa);
return;
}
if (fx <0.) b=xa;
else a= xa ;
xn = (a+b)/2;
If (xa! =0.){
e= fabs ((xn-xa)/xn) *100;
if (e<er){
printf (“raiz = %g “, xa);
return;
}
}
Xa = xn;
Printf (“la raiz no se encontro”);
}
Void main (){
Float a,d,e;
Scanf(%f %f %f “, &a, &b, &e);
}
13
METODO DEL PUNTO FIJO.
Ejemplo:
Xi +1 = fXi+1- f (Xi)f1(Xi) + Xi
f´ (X) = ex-1
14
er = 0.5-0 0.5 * 100 = 100%
2) er = 0.5662-0.5 0.5662 = 11.70%
3) er = 0.5671-0.5662 0.5671 = 0.1662%
METODO DE LA SECANTE.
er = Xi-XiXi+1 (100)
f(Xi) = f(0) = 1
f (x0) = f (1) = - 0. 6321
fx0= -0.6321
fx1= f ( 0.6127) = -0. 0708
x2=0.5638
er = 8.67%
RAICES DE POLINOMIOS.
Teorema fundamental del algebra establece que para cada polinomio de grado
“n” con coefisientes reales o complejos, tiene exactamente “n” raices.
f(x)= (1-x)5
(1-x)5=0
5 raices X1,2,3,4,5 = 1
15
a1an+1+ a2xan+1x+ a2x2an+1+ ….+ xn = 0
x=-a2±a22-4(a1)(a3)2(a3)
Ejemplo:
f(X) = 10 + 2x +x4
16
COTAS DE RAICES.
Permite fijar los valores minimo y maximo en donde pueden estar las raices.
Ejemplo:
17
A medida que se encuentran las raices de un polinomio, se puede ir
simplificando el polinomio, al eliminar las raices que ya se han determinado a
este procedimiento se le llama defacion y se basa en el siguiente teorema:
Ejemplo:
Determina las raices del sig. Polinomio f(x) = f(x) = x3+ 6x-20
Se observa que tiene una raiz x0 = 2
x1,2=-2±4-402 = -2±-362 ∴
x0=2 x1= -1+3i x2= -1-3i
18
UNIDAD III: INTERPOLACION DE ANALISIS Y AJUSTE DE CURVAS.
INTERPOLACION.
Una funcion de interpolacion es aquella que pasa atraves de los puntos dados
como datos, pero que permite determinar el valor de un punto que no esta en
la tabla de valores.
Interpolacion lineal.
Este tipo de interpolacion supone que existe un punto en una linea recta entre
dos puntos adyacentes.
La ecuacion es
X Y
0 2
Z 8
4 64
6 212
8 506
10 992
Hallar el valor en x=32
Y = 8 + 3*2-2(64-8)(4-2)
Y = 40.4
19
20
Funcion en C.
Int i ;
Float yy;
For (i=1 ; I ≤ n ; i ++)
If (x[i] > xx){
Yy = [i-1] + (xx-x[i-1] * (y[i] –y[i-1] / (x[1]-x [i-1]);
Break ;
}
Return(yy);
}
Es decir
Se respresenta por: ∆ yi
Se representa por ∆2 yi
21
Se llaman 3er diferencias finitas a las diferencias de las segunadas
deiferencias finitas.
Se representa por: ∆3 yi
Corolario.
Ejemplo:
X Y ∆1 yi ∆2 yi ∆3 yi
0 2 6
2 8 54 48
4 64 150 96 48
6 212 294 144 48
8 506 486 192 48
10 992
El polinomio es de grado 3
Todo este espacio H
Interpolacion de Newton.
Donde :
22
Ejemplo:
X Y
0 2
2 8
4 64
6 212
8 506
10 992
Encontrar os valores para x = 3.2 y x = -1
x0=2
xk=2
n= 2
K = xn-x0n= 3.2-22=0.6
y=A1x-x2x-x3x-x4……x-xn+
y=A2x-x2x-x3x-x4……x-xn+
y=A3x-x2x-x3x-x4……x-xn+
.
.
.
23
y=Anx-x2x-x3x-x4……x-xn-1+
24
Las constantes A1, A2,A3,……An se determinan graficamente de la siguiente
forma.
A1=yx-x2x-x3x-x4……x-xn
Si se hace x = x2, entonces:
A2=yx-x2x-x3x-x4……x-xn
Si se hace x = x3, entonces:
A3=yx-x2x-x3x-x4……x-xn
y=y1 x-x2x-x3x-x4……x-xnx1-x2x1-x3x1-x4……x1-xn+
y2 x-x2x-x3x-x4……x-xnx2-x2x2-x3x2-x4……x2-xn+
y3 x-x2x-x3x-x4……x-xnx3-x2x3-x3x3-x4……x3-xn+
.
.
.
yn x-x2x-x3x-x4……x-xn-1xn-x2xn-x3xn-x4……xn-xn-1+
Ejemplo:
X Y
0 2
1 3
4 18
6 38
25
METODO DE NEVILLE.
Ejemplo:
X Y
0 0
1 1
4 16
-1 1
1. CERCANIA 0 = |3 - x0| =3
2. CERCANIA 1 = |3 - x1| =2
3. CERCANIA 2 = |3 - x2| =1
4. CERCANIA 3 = |3 - 1| =4
Punto P01
26
Pij= xa –xiPij , i-j+ xi+j-xaPi,j-1xi+j-xi
P11= 3
P21= -3
P02= 9
P12=9
P22=9
AJUSTE DE CURVAS.
Ejemplo:
4x1+2x2+x3=11
-x1+2x2 =3
2x1+x2+4x3=16
27
-2 + 2(2) = 3
2≠3
Matriz aumentada.
42 1 -120214 100010001
Se propone una funcion polinomial cuya grafica es una curva suave que se
acerca a los puntos
Con m = 1,2,3…
J = 0,1,2,….
28
Se obtiene :
n a0 + a1 i=1nxi = i=1nyi
29
UNIDAD 5: ALGEBRA LINEAL.
Sistema de ecuaciones:
= b1
= b2
= b3
.
.
.
= bn
30
31
TEOREMA DE SOLUCION DE ECUASIONES LINEALES.
Cualquier solución del sistema puede multiplicarse para dar una constante sin
que el sistema se altere.
Se tiene
33
METODOS INDIRECTOS O METODOS ITERATIVOS.
Los métodos iterativos son aquellos que obtienen la solución por aproximación.
Estos métodos, son propiamente numéricos los cuales obtienen una solución
mediante una aproximación a la solución del problema. Los métodos iterativos
obtienen solución del problema. Los métodos iterativos obtienen una sucesión
de vectores que se aproximan a la solución del sistema. Estos métodos
requieren de un criterio de convergencia para determinar cuando se detienen.
Se puede usar el error relativo, para presentar el problema de que se tiene que
realizar una división de vectores, por eso se utiliza la siguiente ecuación.
1) Criterio de convergencia
C.Ck= |xk- xk-1||xk|
K = iteración.
|| || = norma vetorail.
xk = vector en la iteración K
xk-1 = vector de iteración k-1
||x|| =i=1nxi2
METODO DE JACOBI.
K = iteración
xk+1 = aprox. Al vector solución en la iteración k+1.
xjk= aprox. Al vector solución en la iteración k.
Despejar x1 de (1)
x1=11-2x2+ x34 x1 2
Despejar x2 de (2)
x2=3+ x12 x2 2
Despejar x1 de (1)
Suposición de x0.
I) x0 =[0,0,….0]
II) x0 = [1,1,…1]
III) x0 = b1b11, b2b22,…. bnbnn
35
FUNCION JACOBI.
Int I,j,i+j;
Float y, er, xx[100];
Despejar ecuaciones
METODO DE GAUSS-SEIDEL
36
Tan pronto se van obteniendo los valores de las variables se sustituyen en el
cálculo actual.
1 x0 = [1,1,1]
x1= 11-(2+1)4 =2
37
UNIDAD VI: ECUASIONES DIFERENCIALES ORDINARIAS
En el punto x = x0
Hacemos h = x - x0
y1 xf(y,x)
Las derivadas de segundo orden o superior se obtienen al derivar
sucesivamente la ecuación de la primera derivada y sustituir x.
38
Ejemplo:
y1 x= -2x-y -3e-x - 2x +2
y(0) = -1
yIx0= y1 0= -20= -20=1
yII (x0) = -2 -y1= -2-1=3
yIII(x0) = -yII = 3
yIV x0= -yIII=3
Y(h) = y x0 + yIx0h + yII (x0) h22! +yIII (x0) h33! + yIV (x0) h44!
H Y(h) Y(x)
0.0 -1 -1
0.1 -0.9145 -0.914
5
0.2 -0.8562 -0.856
2
0.3 -0.8225 -0.822
5
0.4 -0.811 -0.811
0.5 -0.820 -0.820
0.6 -0.8482 -0.848
2
0.7 -0.8985 -0.898
5
0.8 -0.9552 -0.955
2
METODO DE EULER.
39
Y(h) = y x0 + yIx0h
40
Ejemplo:
Con el método de Euler obtenga la solución para dydx= -2x3+ 12x2- 20x+85
X f(y)
0 100
0. 5.25
5 0
1 5.87
5
1. 5.12
5 5
2 4.50
0
METODO DE EULER-GAUSS.
Tiene más error que el método de Taylor por que se trunca en el Segundo
termino pero menos que la de Euler por la corrección.
41
Ejemplo:
y1=12(1+x)y2
PROGRAM EN C
Int i = 1;
While (xi<xf){
Printf (“%g”, yi);
Yi = yi +h (f(xi,yi)+f(xi+h, yi + h *f(xi,yi)))/2;
42
Xi = xi +h;
i++;
}
}
Float f ( float x, float y ) {
Return (0.5 x (1 +x) *y*y);
}
43
METODO DE TAYLOR DE ORDEN MAYOR.
ALGORITMO DE RANGE-KUTTA.
Se sustituye k1 y k2
yn+1 = yn+ a+bh fn+ h2αbfx+ βbfyfn debe ser idéntica a (**)
a + b=1
α b= 0.5 con a = 3/2 , b =1/3, α= 3/2 y β = 3/2
β b = 0.5
∴ yn+1 = yn+23k1+13k2
k1= hfxn, yn Metodo de Euler-Gauss
k2 =hfxn+23h, yn+23k
44
METODO DE RENGER-KUTTA DE ORDEN 1.
k1= hfxn, yn
k2 =hfxn+12h, yn+12k1
k3 =hfxn+12h, yn+12k2
k4 =hfxn+h, yn+k3
Ejemplo:
Para x = 0 => y0 = 1
Para x1=0.1=> k1 = 0.1f(0.1)=(0.1)(1/2 (1+0)(1)² = 0.05
k2 = 0.0551578
k3 =0.0554357
k4 =0.0612670
y1=1.055409
y2=1.123595535
y3=1.20346
y4=1.31579
45
RANGE-KUTTA-FEHLBERG.
k1= hfxn, yn
k2 =hfxn+14h, yn+14k1
k3 =hfxn+38h, yn+332k1+932k2
k4 =hfxn+1215h, yn++19322197k1-72002197k2+72962197k3
Ejemplo:
Para x0=0 y0 = 1
Para x1= 0.1 k1=0.052539257
k2=0.0539141
k3=0.0539141
k4=0.0603087
K5=0.0612908
k6=0.0552408
y1=1.0554089
46