ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Programa c++ de biseccion con clase


Enviado por   •  9 de Octubre de 2015  •  Práctica o problema  •  1.060 Palabras (5 Páginas)  •  189 Visitas

Página 1 de 5

/*

IPN

Programa Biseccion

Objetivo: encntrar la raiz de una funcion con biseccion

fecha de entrega 08/09/15

*/

using namespace std;

#include <iostream>

#include <cmath>

struct Bise

{

double IntMen; //Intervalo Menor = Xa

double fxa; // Valor de Xa evaludo en la funcion

double IntMay; //Intervalo Mayor = Xb

double fxb; // Valor de Xb evaludo en la funcion

double Emin; // Error minimo

double Xm; // Punto Medio

double fxm; // Valor de Punto Medio evaluado en la funcion

};

void SolicitIntervalo(Bise *AptA); // Solicita Xa, Xb, Error minimo y calcula Fxa, Fxb

void BiseccionInicial(Bise *AptA); // Valida que de inicia sea una grafica valida para la biseccion

void EvaluarPunOpues(Bise *AptA); //Compara en que sector Xa-Xm * Xm-Xb se procede con la biseecion

double Funcion(double I); //Evalua los distintos puntos en la funcion dada

void CalMedia(Bise *AptA); // Calcula el punto medio

void Imprimir(Bise *A);

int main(void)

{

system("cls");

Bise A;

Bise *AptA;

AptA = &A;

double C=0;

int It=0;

SolicitIntervalo(AptA);

BiseccionInicial(AptA);

cout<<endl;

Imprimir(AptA);

cout<<endl;

cout << "fxa: "<< AptA->fxa << endl;

cout << "fxb: "<< AptA->fxb << endl;

cout << "Biseccion procede" << endl << endl;

do

{ It++;

CalMedia(AptA);

AptA->fxm = Funcion(AptA->Xm);

cout << endl;

EvaluarPunOpues(AptA);

C=AptA->fxm;

if(C < 0 )

{

C = AptA->fxm *-1;

}

cout << endl << endl;

cout<<"Nemuero de iteraciones: "<<It<<endl;

Imprimir(AptA);

}

while(C >(AptA->Emin) );

{

cout << endl << endl;

cout << "Biseccion Final" << endl;

CalMedia(AptA);

AptA->fxm = Funcion(AptA->Xm);

}

...

Descargar como (para miembros actualizados) txt (4 Kb) pdf (44 Kb) docx (13 Kb)
Leer 4 páginas más »
Disponible sólo en Clubensayos.com