Tarea.. Biseccion en matlab

patricia
09 de Marzo del 2010
hola quien me puede ayudar a resolver este programa? gracias...


PRELIMIARES
Es importante que documente sus programas de manera que exista una ayuda en
l铆nea que permita a cualquier persona utilizarlos adecuadamente.
Se le sugiere que repase (usando la ayuda de Matlab o la literatura sugerida) el
uso de las instrucciones function, nargin y nargout, fplot, ezplot, text, textread.
ITRODUCCIO
En un laboratorio de investigaci贸n se tiene registrado el desgaste de una serie de
materiales en el tiempo. La informaci贸n consiste en una medici贸n de un grupo de
caracter铆sticas que son eventualmente relacionadas con lo que en ese laboratorio
llaman el Desgaste del Material o DM. Este par谩metro (DM) les sirve para decidir
cu谩les materiales pueden ser utilizados en la construcci贸n de partes para todo tipo
de medios de transporte, desde patinetas hasta transbordadores espaciales.
Dado que las mediciones son discretas (no se posee una medici贸n continua del
DM a lo largo de toda la escala tiempo), un departamento de especialistas (al cu谩l
usted ser谩 promovido tan pronto como logre completar este trabajo) se encarg贸 de
generar expresiones funcionales que aproximaran (te贸ricamente con muy poco
error) el DM de cada material de una manera continua. Estas funciones tienen la
caracter铆stica com煤n de ser estrictamente crecientes en el intervalo de tiempo en
horas [0, 100000], en el que se consideran v谩lidas como aproximaci贸n de los DM.
Recientemente un gran fabricante empez贸 a tener problemas con el acabado de
sus productos y est谩 culpando al proveedor de materia prima de venderle material
viejo. Por su parte el proveedor dice que el material es nuevo y para probarlo ha
hecho mediciones del DM a un gran n煤mero de materiales en manos del fabricante
y se los ha enviado a usted para que determine el tiempo transcurrido desde su
creaci贸n.
La primera idea que surgi贸 en el laboratorio fue pagar a un tercero para que
hallara las inversas de las funcionales y as铆 calcular f谩cilmente el tiempo
correspondiente a cada DM medido, pero el departamento de Finanzas dijo que no
hab铆a presupuesto ni para comprar un m贸dulo de matem谩ticas simb贸lica que le
permitiera a usted mismo automatizar de alguna forma el c谩lculo de inversas
funcionales.
La segunda idea fue crear las gr谩ficas de cada material y buscar el valor de tiempo
transcurrido manualmente, pero tras mirar el tama帽o de la lista de mediciones del
fabricante, lleg贸 a la conclusi贸n de que se iba a quedar ciego antes de terminar.
Alguien propuso que se hiciera mediante prueba y error, es decir, introduciendo
datos de tiempo al azar hasta que se acercaran a la soluci贸n, total, era
simplemente tiempo de m谩quina; desgraciadamente el jefe lo oy贸 haciendo esa
proposici贸n y el pobre termin贸 trabajando en otra compa帽铆a.
Finalmente, usted se acord贸 que existe un m茅todo muy sencillo para hallar un
punto donde una funci贸n continua se anula y se ha dado cuenta que s贸lo necesita
hacer una modificaci贸n muy sencilla para utilizarlo en su b煤squeda del tiempo
transcurrido para cada DM medido. El m茅todo aparece a continuaci贸n:
M茅todo de Bisecci贸n.
Dada una funci贸n f : R-> R , el m茅todo de Bisecci贸n halla un punto x* : f(x*) = 0.
Una descripci贸n sencilla de los pasos que sigue es:
1. Dada f(x), tomar dos puntos x1, x2 de su dominio tal que los signos de f(x1)
y f(x2) sean opuestos, un par谩metro de tolerancia que llamaremos 茅psilon,
que ser谩 positivo y tan cercano a cero como se desee y un n煤mero m谩ximo
de iteraciones maxit.
2. Si |f(x1)| < 茅psilon o |f(x2)|< 茅psilon, entonces x1 o x2 es soluci贸n
(respectivamente); rep贸rtelo y salga. Si eso no ocurre, siga con el paso 3.
3. Mientras ocurra que |x1-x2| >茅psilon o que no se ha excedido el m谩ximo de
iteraciones, vaya al paso siguiente.
4. Hallar x0, donde x0 ser谩 el punto medio entre x1 y x2.
5. Si |f(x0)|< 茅psilon , reporte que x0 es soluci贸n y salga.
6. Si el signo de f(x0) es igual al de f(x1) sustituya x1 <- x0 y regrese al paso 2.
7. Si el signo de f(x0) es igual al de f(x2) sustituya x2 <- x0 y regrese al paso 2.
8. Si |x1-x2|< 茅psilon o se excedi贸 el m谩ximo de iteraciones, reporte que no
se pudo hallar una soluci贸n con los par谩metros dados y salga.
LABORATORIO
Usted crear谩 una funci贸n de Matlab de nombre tiempo que permita aplicar el
m茅todo de Bisecci贸n (tambi茅n deber谩 programar esta funci贸n por supuesto) a los
datos de un archivo que contiene dos columnas:
1. Cada componente de la primera columna corresponde a un 聯string聰 que
contiene una expresi贸n funcional que por supuesto es la del DM de alg煤n
material.
2. Cada componente de la segunda columna contiene un n煤mero que
corresponde al valor de DM medido por el fabricante para ese material.
Su funci贸n tomar谩 cada una de estas parejas, calcular谩 el tiempo que corresponde
al valor de DM en la segunda columna y lo reportar谩 mostrando la gr谩fica de la
expresi贸n funcional con el punto en cuesti贸n remarcado y mostrando las
coordenadas correspondientes, es decir, el tiempo hallado y el valor DM medido.
Finalmente, como usted es muy consciente respecto al consumo de papel y sabe
que eventualmente las gr谩ficas tendr谩n que ser impresas, decidi贸 que aparecer铆an
cuatro gr谩ficas por figura.
Informaci贸n Adicional
La funci贸n tiempo tendr谩 como par谩metros de entrada:
1. El nombre del archivo de datos
2. Los par谩metros que ser谩n pasados a la funci贸n de bisecci贸n, es decir:
a. Puntos iniciales t1 y t2.
b. La tolerancia en la respuesta, es decir, el 茅psilon.
c. El n煤mero m谩ximo de iteraciones permitidas maxit antes de
abandonar la b煤squeda.
3. Cuando no se halle una soluci贸n, simplemente se crear谩 la gr谩fica de la
funcional correspondiente y esta contendr谩 un mensaje indicando que el
m茅todo fall贸.
4. La funci贸n tendr谩 par谩metros por defecto que pasar谩 a la funci贸n de
bisecci贸n en el caso de que el usuario no los defina. Esto aplica para todos
los argumentos de entrada excepto para el nombre del archivo de datos.
A fin de que pruebe sus programas, tome los siguientes datos y cree con ellos un
archivo tipo ascii con las caracter铆sticas que se describieron en la p谩gina anterior:
1. x^4+x^3+2*x^2+10*x 101021000
2. exp(x)+ x^2 + sqrt(x+2) 11486
3. log(x+1) + log(x.^2) 26.5611
4. x + exp(x) 153.4172
5. exp(sqrt(x^2)) 244.6919
6. exp(sqrt(x+22)) 6.4702e+003

Dave30
09 de Marzo del 2010
Hola Patricia,

Igualmente, muy interesante el tema, por si te interesen mis servicios de programaci贸n, te dejo mi email: [email protected]

Saludos
Dave