Está en la página 1de 7

(*EJERCICIO 5.

1*)
f = - 0.5 * x2 + 2.5 * x + 4.5; (*se ingresa la funcion a evaluar*)
Plot[f, {x, - 14, 20},
representación gráfica
Ticks  {{- 14, - 12, - 10, - 8, - 6, - 4, - 2, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20},
marcas
{- 140, - 120, - 100, - 80, - 60, - 40, - 20, 10}}]
(*se grafica a funcion para poder onservar sus raices*)

10

-14 -12 -10 -8 -6 -4 -2 2 4 6 8 10 12 14 16 18 20

-20

-40

-60

-80

-100

-120

-140
2 5.1.nb

"f=-0.5*x2 +2.5*x+4.5"
a = - 0.5; b = 2.5; c = 4.5;

-b + b2 - (4 * a * c)
x1 = ; (*se evalua la ecuacion
2*a
con la formula cuadratica para poder obtener las raices*)

-b - b2 - (4 * a * c)
x2 =
2*a
;

g1,1 = "x1"; (*se crean las etiquetas de la tabla*)


g1,2 = "x2";
g2,1 = N[x1];
valor numérico
g2,2 = N[x2];
valor numérico
T1 = Table[ga,b , {a, 2}, {b, 2}]; (*se guardan los datos generando una tabla*)
tabla
Grid[T1, Frame  All]
marco todo

f=-0.5*x2 +2.5*x+4.5

- 1.40512 6.40512
x1 x2

NC = 3; (*numero de iteraciones a realizar*)


NC1 = NC + 1;
g1,1 = "i"; (*etiquetas para la tabla*)
g1,2 = "xi ";
g1,3 = "xu ";
g1,4 = "xr ";
g1,5 = "F[xr ]";
g1,6 = "F[xi ]*F[xr ]";
g1,7 = "∈a (%)";
g1,8 = "∈t (%)";
(*se definen los valores iniciales,
en este caso de la funcion o ecuacion que se esta evaluando,
asi como los valores iniciales*)
F[x_] = f; XI[1] = 5; XU[1] = 10;
Fori = 1, i < NC1, i ++,
para cada
(*se emplea la funcion "for" para poder realizar ciclos o iteraciones*)
XI[i] + XU[i]
Xr[i] = ;

Xr[0] = Xr[1];
2

;
5.1.nb 3

(*se crean las condiciones para acercarse a la raiz*)


If[F[XI[i]] * F[Xr[i]] < 0, {XU[i + 1] = Xr[i], XI[i + 1] = XI[i]}];
si
If[F[XI[i]] * F[Xr[i]] > 0, {XU[i + 1] = XU[i], XI[i + 1] = Xr[i]}];
si
(*se calculan los respectivos errores*)
6.4051 - Xr[i]
Et[i] = Abs  * 100; (*Error verdadero porcentual*)
6.4051
valor absoluto

Xr[i] - Xr[i - 1]
Ea[i] = Abs  * 100;
valor absolutoXr[i ]

(*Error aproximado porcentual*)


j = i + 1; (*se comienzan a guardar los datos obtenidos en cada iteracion*)
gj,1 = i;
gj,2 = N[XI[i]];
valor numérico
gj,3 = N[XU[i]];
valor numérico
gj,4 = N[Xr[i]];
valor numérico
gj,5 = F[Xr[i]];
gj,6 = F[XI[i]] * F[Xr[i]];
gj,7 = N[Ea[i]];
valor numérico
gj,8 = N[Et[i]];
valor numérico

T1 = Table[ga,b , {a, NC1}, {b, 8}];
tabla
(*los datos generados y guardados se muestran en una tabla*)
Grid[T1, Frame  All]

F[xr ] F[xi ]*F[xr ] ∈a (%) ∈t (%)


marco todo

- 4.875 - 21.9375
i xi xu xr
1 5. 10. 7.5 0. 17.0942

3 6.25 7.5 6.875 - 1.94531 - 1.15503


2 5. 7.5 6.25 0.59375 2.67188 20. 2.42151
9.09091 7.33634

(*Equipo: Luis Martinez Braulio


Cruz Lopez Pablo*)
(*EJERCICIO 5.3*)
f = - 25 + 82 * x - 90 * x2 + 44 * x3 - 8 * x4 + 0.7 * x5 ;
(*se ingresa la funcion a evaluar*)
Plot[f, {x, - .1, 1}, Ticks 
marcas
{{- .1, .1, .2, .3, .4, .5, .6, .7, .8, .9, 1}, {- 28, - 24, - 20, - 16, - 12, - 8, - 4, 2}}]
(*se grafica a funcion para poder onservar sus raices*)

2
-0.1
-4
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

-8

-12

-16

-20

-24

-28

(*Biseccion*)
Easp = 10 * 1 - 0.5  100; (*error obsoluto aproximado especificado*)
Log (1-0.5) 
n= ; (*formula para obtener el numero de
Easp

Log[2]
interaciones con relacion al error que se quiere obtener*)
N1 = Round[n]; (*comando para poder redondear el
entero más próximo
valor a el entero positivo mas cercano*)
NC = N1; (*numero de iteraciones a realizar*)
NC1 = NC + 1;
g1,1 = "i"; (*etiquetas para la tabla*)
g1,2 = "xi ";
g1,3 = "xu ";
g1,4 = "xr ";
g1,5 = "F[xr ]";
g1,6 = "F[xi ]*F[xr ]";
g1,7 = "∈a (%)";
g1,8 = "∈t (%)";
(*se definen los valores iniciales,
en este caso de la funcion o ecuacion que se esta evaluando,
asi como los valores iniciales*)
F[x_] = f; XI[1] = 0.5; XU[1] = 1;
Fori = 1, i < NC1, i ++,
para cada
(*se emplea la funcion "for" para poder realizar ciclos o iteraciones*)
2 5.3.nb

Fori = 1, i < NC1, i ++,


para cada
(*se emplea la funcion "for" para poder realizar ciclos o iteraciones*)
XI[i] + XU[i]
Xr[i] = ;

Xr[0] = Xr[1]; (*se crean las condiciones para acercarse a la raiz*)


2

If[F[XI[i]] * F[Xr[i]] < 0, {XU[i + 1] = Xr[i], XI[i + 1] = XI[i]}];


si
If[F[XI[i]] * F[Xr[i]] > 0, {XU[i + 1] = XU[i], XI[i + 1] = Xr[i]}];
si
(*se calculan los respectivos errores*)
Xr[i] - Xr[i - 1]
Ea[i] = Abs  * 100; (*Error aproximado porcentual*)
valor absolutoXr[i]

0.5794 - Xr[i]
Et[i] = Abs  * 100; (*Error verdadero porcentual*)
0.5794
valor absoluto

j = i + 1; (*se comienzan a guardar los datos obtenidos en cada iteracion*)


gj,1 = i;
gj,2 = N[XI[i]];
valor numérico
gj,3 = N[XU[i]];
valor numérico
gj,4 = N[Xr[i]];
valor numérico
gj,5 = F[Xr[i]];
gj,6 = F[XI[i]] * F[Xr[i]];
gj,7 = N[Ea[i]];
valor numérico
gj,8 = N[Et[i]];
valor numérico

T1 = Table[ga,b , {a, NC1}, {b, 8}];
tabla
(*los datos generados y guardados se muestran en una tabla*)
Grid[T1, Frame  All]

F[xr ] F[xi ]*F[xr ] ∈a (%) ∈t (%)


marco todo

- 3.06321
i xi xu xr

- 1.00807
1 0.5 1. 0.75 2.07236 0. 29.4443

3 0.5 0.625 0.5625 - 0.281992


2 0.5 0.75 0.625 0.681992 20. 7.87021
0.416819 11.1111 2.91681

(*Falsa Posicion*)
Clear
borra
NC = 10; (*numero de iteraciones a realizar,
en este caso solo se pone un numero cualquiera*)
;
5.3.nb 3

NC2 = NC + 1;
ϵs = 0.2; (*valor que se desea obtener en pocentaje*)
h1,1 = "i"; (*etiquetas para la tabla*)
h1,2 = "xi ";
h1,3 = "xu ";
h1,4 = "xr ";
h1,5 = "F[xr ]";
h1,6 = "F[xi ]*F[xr ]";
h1,7 = "∈a (%)";
h1,8 = "∈t (%)";
(*se definen los valores iniciales,
en este caso de la funcion o ecuacion que se esta evaluando,
asi como los valores iniciales*)
F[x_] = f; XI[1] = 0.5; XU[1] = 1;
Fori = 1, i < NC2, i ++,
para cada
(*se emplea la funcion "for" para poder realizar ciclos o iteraciones*)
(F[XU[i]] * (XI[i] - XU[i]))
Xr[i] = XU[i] -
(F[XI[i]] - F[XU[i]])
;

Xr[0] = 0; (*en esta ocasion hacemos que Xr[0]


sea igual a 0 para que no se detenga nuestras itearciones*)
(*se crean las condiciones para acercarse a la raiz*)
If[F[XI[i]] * F[Xr[i]] < 0, {XU[i + 1] = Xr[i], XI[i + 1] = XI[i]}];
si
If[F[XI[i]] * F[Xr[i]] > 0, {XU[i + 1] = XU[i], XI[i + 1] = Xr[i]}];
si
(*se calculan los respectivos errores*)
Xr[i] - Xr[i - 1]
Ea[i] = Abs  * 100; (*Error aproximado porcentual*)
valor absolutoXr[i]

j = i + 1; (*se comienzan a guardar los datos obtenidos en cada iteracion,


el valor "j" tambien nos srvira como un contador con relacion
al numero de filas que nos mostrara en la tabla de resultados*)
hj,1 = i;
hj,2 = N[XI[i]];
valor numérico
hj,3 = N[XU[i]];
valor numérico
hj,4 = N[Xr[i]];
valor numérico
hj,5 = F[Xr[i]];
hj,6 = F[XI[i]] * F[Xr[i]];
hj,7 = N[Ea[i]];
valor numérico
hj,8 = N[Et[i]];
valor numérico
;
4 5.3.nb

hj,7 = N[Ea[i]];
valor numérico
hj,8 = N[Et[i]];
valor numérico
If[Ea[i] < ϵs, {i = NC2 }]; (*esta condicion es muy importante
si
ya que nos ayudara a terminar el ciclo cuando esta se cumpla*)

T2 = Table[ha,b , {a, j}, {b, 7}];
tabla
(*los datos generados y guardados se muestran en una tabla*)
Grid[T2, Frame  All]
rejilla marco todo

Clear

F[xr ] F[xi ]*F[xr ] ∈a (%)


- 1.35808
i xi xu xr

- 0.202931
1 0.5 1. 0.642728 0.918789 100.

0.5 0.588017 0.580537 0.0182191 - 0.0269301 1.28852


2 0.5 0.642728 0.588017 0.137289 9.30426

0.5 0.580537 0.579556 0.0023779 - 0.00351483 0.169198


3
4

(*Equipo: Luis Martinez Braulio


Cruz Lopez Pablo*)

También podría gustarte