Google

Esté blog es par la evalución de la materia de Ondas EMG, para dar a conocer las evidencias de ésta matería.

miércoles, 30 de septiembre de 2015

Programa para mi amigo Barquero. Método de Bisección en C++

Ver más...


BiseccionPrograma.htm Biseccion.htm
#include<iostream>
#include<conio.h>
#include<math.h>
using namespace std;
 
float f (float x)
{
    float fx1; /*float g=9.81, m=68.1, v=40, t=10;*/ float g=32.17, m=0.25, v=300, k=0.10;
    //fx1 = pow(x,3) + pow(x,2) - (3*x) - 3;
    //fx1=((g*m)/x)*(1-exp((-x*t)/m)) - v;
    fx1=v - ((g*m)/k)*x + (m*m*g/(k*k))(1-exp((-x*k)/m));
    return (fx1);
}
 
main()
{
    float x1,x2,x3;
    int count = 0;
    int iter;
 
    cout <<"Enter x1 = ";
    cin >> x1;
    cout <<"Enter x2 = ";
    cin >> x2;
    cout <<"Enter number of iterations = ";
    cin >> iter;
 
//  int fx1 = (x1^3) + (x1^2) - (3x1) - 3;
//  int fx2 = (x2^3) + (x2^2) - (3x2) - 3;
    do
    {
        if(count == iter)
        {
            break;
        }
 
        x3 = (x1 + x2)/2;
 
        cout <<"x1=" << x1 <<" | x2="<< x2 <<" | x3=" << x3 <<" | " << "  f(x1)=" << f(x1) << " |  f(x2)=" << f(x2) << " |  f(x3)=" << f(x3) << endl << endl;
 
        //float temp1 = f(x1);
        //float temp2 = f(x3);
        if( f(x1) * f(x3) < 0 )
        {
            x2 = x3;
        }
        else
        {
            x1 = x3;
        }
        count++;
    }
    while ( fabs(x1 - x2) > 0.0000001 || f(x3) == 0 );
 system("pause");
}


No hay comentarios.:

Publicar un comentario