Professional Documents
Culture Documents
Mtodo de numrico para determinar las races de una ecuacin con una incgnita.
Mediante FMSLogo y la biblioteca LogoFE (para las grficas).
Contenido
[ arriba ]
cos(x) = 0.01 x
El mtodo necesita un intervalo tal que, para un extremo del intervalo, el valor de la
funcin sea nagativo y para el otro extremo del intervalo, el valor de la funcin sea
positivo. Veamos si esto se cumple para el intervalo (-200,200):
escribeinvoca[[x]0.01*:xcos:x]200
1.06030737921409
escribeinvoca[[x]0.01*:xcos:x]200
2.93969262078591
borrapantalla
graflineas[]recorrido[[x]0.01*:xcos:x]dominio[20020010
0]
parabiseccion:f:iz:de
repite10[
haz"f_izinvoca:f:iz
haz"f_deinvoca:f:de
haz"medio(:iz+:de)/2
haz"f_medioinvoca:f:medio
imprime.linea
si:f_medio*:f_iz<0[haz"de:medio]
si:f_medio*:f_de<0[haz"iz:medio]
]
fin
paraimprime.linea
escribe`[(,[formatonumero:iz83],[formatonumero:de83])
f(iz):,[formatonumero:f_iz63]
f(de):,[formatonumero:f_de63]
medio:,[formatonumero:medio83]
f(medio):,[formatonumero:f_medio63]]
fin
biseccion[[x]0.01*:xcos:x]200200
(200.000200.000)f(iz):1.060f(de):2.940medio:0.000
f(medio):1.000
(0.000200.000)f(iz):1.000f(de):2.940medio:100.000
f(medio):1.174
(0.000100.000)f(iz):1.000f(de):1.174medio:50.000
f(medio):0.143
(50.000100.000)f(iz):0.143f(de):1.174medio:75.000
f(medio):0.491
(50.00075.000)f(iz):0.143f(de):0.491medio:62.500
f(medio):0.163
(50.00062.500)f(iz):0.143f(de):0.163medio:56.250
f(medio):0.007
(50.00056.250)f(iz):0.143f(de):0.007medio:53.125
f(medio):0.069
(53.12556.250)f(iz):0.069f(de):0.007medio:54.688
f(medio):0.031
(54.68856.250)f(iz):0.031f(de):0.007medio:55.469
f(medio):0.012
(55.46956.250)f(iz):0.012f(de):0.007medio:55.859
f(medio):0.003
escribecos55.859
0.561231398520766
escribe0.01*55.859
0.55859
cos(x) = 0.01 x
[ arriba ]
3. Adaptacin Grfica
parabiseccion:f:iz:de
repite10[
haz"f_izinvoca:f:iz
haz"f_deinvoca:f:de
haz"medio(:iz+:de)/2
haz"f_medioinvoca:f:medio
dibuja.intervalo
si:f_medio*:f_iz<0[haz"de:medio]
si:f_medio*:f_de<0[haz"iz:medio]
]
fin
paradibuja.intervalo
subelapizponx:iz
bajalapizavanza5ponx:deretrocede5ponx:iz
subelapizavanza7
fin
borrapantalla
graflineas[]recorrido[[x]0.01*:xcos:x]dominio[20020010
0]
subelapizpony10ponrumbo0
biseccion[[x]0.01*:xcos:x]200200
[ arriba ]
4. Mayor Precisin
parabiseccion:f:iz:de
mientras[(abs:iz:de)>0.000000001][
haz"f_izinvoca:f:iz
haz"f_deinvoca:f:de
haz"medio(:iz+:de)/2
haz"f_medioinvoca:f:medio
si:f_medio*:f_iz<0[haz"de:medio]
si:f_medio*:f_de<0[haz"iz:medio]
]
devuelve:medio
fin
escribebiseccion[[x]0.01*:xcos:x]200200
55.9670123468095
escribecos55.9670123468095
0.559670123476041
escribe0.01*55.9670123468095
0.559670123468095
escribeformatonumero(0.5596701234680950.559670123476041)1616
0.0000000000079460
[ arriba ]
5. Aplicaciones
El procedimiento biseccion puede utilizarse para resolver muchos tipos de
problemas. Por ejemplo, para resolver ecuaciones de una variable sin tener que
despejar, para encontrar la raz cuadrada de 2,
haz"xbiseccion[[x]:x*:x2]02
escribe:x
1.41421356145293
escribe:x*:x
1.99999999739737
haz"f[[x]:x*:x*:x*:x*:x+:x*:x*:x*:x3*:x*:x*:x2]
borrapantalla
graflineas[]recorrido:fdominio[2.52100]
escribebiseccion:f2.52
2.25364402215928
escribebiseccion:f20
0.862353793345392
escribebiseccion:f02
1.46975488495082
escribeformatonumero(invoca:f2.25364402215928)1010
0.0000000192
escribeformatonumero(invoca:f0.862353793345392)1010
0.0000000049
escribeformatonumero(invoca:f1.46975488495082)1010
0.0000000107
[ arriba ]
6. Licencia
Esta obra est licenciada bajo una Licencia Creative Commons Atribucin-Compartir
Obras Derivadas Igual 2.5 Espaa.
[ arriba ]
7. Enlaces
Comentarios, Sugerencias
Pgina Principal
[ arriba ]