Bisección en C ¿como?
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
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
porfavor gracias
stephani
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.
NI SIQUIERA LEYÓ EL MENSAJE DE ARRIBA.
Un consejo para todos los que piden código, LEAN por lo menos antes de pedir.
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.
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.
/*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);
}
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);
}