Bisecci贸n en C ¿como?

Victor
29 de Marzo del 2005
Tengo que implementar una funcion, que evalue una funci贸n matematica y me de el numero de raices que tiene esa funci贸n matematica. Me dice que se pues implementar aplicando el metodo de la Bisecci贸n que es un metodo num茅rico. Si alguien sabe de algo pues que opine sobre el tema. GRACIAS

JUAN
29 de Marzo del 2005
hla como estas

stephani
29 de Marzo del 2005
me pueden enviarel metodo de biseccion es que lo necesito para un proyecto urgentemente. si puedes de una ves que lees este mensaje.

porfavor gracias
stephani

Oliverio
29 de Marzo del 2005
PAF!!!!! (sonido de cucurucho de helado estrellado en la frente)
NI SIQUIERA LEY脫 EL MENSAJE DE ARRIBA.
Un consejo para todos los que piden c贸digo, LEAN por lo menos antes de pedir.

orlando
29 de Marzo del 2005
casualmente estoy haciendo eso que tu necesitas como un proyecto..
ya lo tengo listo, pero solo me falta limpiar las pantallas.. tengo metodo de biseccion y secante...
si lo quieres..
con mucho gusto.
pero averigua como limpio mis pantallas.

i5arck
29 de Marzo del 2005
/*Program para realizar Metodo de Biseccion

Descripcion de variables :
a : Coordenada x1 del intervalo
b : Coordenada x1 del intervalo
p : Punto medio

*/

#include <stdio.h>
#include <conio.h>
#include<math.h>
#define N 30
float f(float x);

main ()
{
int i=0,j=0,k=0,l=0,m=0;
float a[N],b[N],p[N],c[N],d;
clrscr();
do{
printf("tMETODO DE BISECCIONn");
printf("Con la ecuaci¢n: x^2-5*x-6");
printf("nintroduce la coordenada x: ");scanf("%f",&a[0]);
printf("nintroduce la coordenada y: ");scanf("%f",&b[0]);

d=f(a[0])*f(b[0]);
if(d>0)printf("nNo esta dentro del Rango");
}while(d>0) ;//do

printf("nEsta dentro del rango");
p[i]=(a[j]+b[k])/2;
printf("n a=%f b=%f",a[j],b[k]);
printf(" p=%f",p[i]);
c[i]=f(b[k])*f(p[i]);
printf("n i[%d] f(p)=%f f(b)*f(p)=%f",i,f(p[i]),c[i] );

for(i=0;i<N;i++){

if(c[i]<0)
{
j++;
a[j]=p[l];
l++;
p[l]=(a[j]+b[k])/2;
printf("n a=%f b=%f",a[j],b[k]);
printf(" p=%f",p[l]);
m++;
c[m]=f(b[k])*f(p[l]);

printf("n i[%d] f(p)=%f f(b)*f(p)=%f",i,f(p[l]),c[i] );

}//if1
else if(c[i]>0)
{
k++;
b[k]=p[l];
l++;
p[l]=(a[j]+b[k])/2;
printf("n a=%f b=%f",a[j],b[k]);
printf(" p=%f",p[l]);
m++;
c[m]=f(b[k])*f(p[l]);
printf("n i[%d] f(p)=%f f(b)*f(p)=%f",i,f(p[l]),c[i] );

}//else..if2*/
else{
printf("nttRaiz %f",p[l]);
i=N;
}//else

}//for

getch();
return 0;
}
float f(float x)
{
return (x*x-5*x-6);
}

Geabril
29 de Marzo del 2005
Encontr茅 esto:

M茅todo de Bisecci贸n
http://mondragon.angeltowns.net/paradiso/MetodoBiseccion.html

C贸mo hace para poder mandar la funci贸n matem谩tica directamente a la funci贸n bisecci贸n sin tener que escribirla dentro del c贸digo???