Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- #include "windows.h"
- using namespace std;
- double E = 2.718281828459;
- ofstream resultados;
- void metodoBissecao();
- void metodoCorda();
- int main() {
- resultados.open("resultados.txt");
- metodoBissecao();
- metodoCorda();
- resultados.close();
- system("pause");
- return 0;
- }
- void metodoBissecao() {
- // Dados
- double Vap = 3.5;
- double Ket = (0.0959 / 60);
- double Ke = Ket;
- double tMax = 5;
- // Valores Inicias
- double a, b;
- // Valor Medio
- double xn;
- // Valor da Funcao
- double fxn, fa, fb;
- cout << "Valores Iniciais" << endl;
- cout << "A: "; cin >> a;
- cout << "B: "; cin >> b;
- cout << endl << "A | B | Xn | F(Xn) | F(a) | F(b)" << endl;
- resultados << "[";
- double dif ;
- do {
- xn = (a + b) / 2;
- fa = a * pow(E, -a * tMax) - Ke * pow(E, -Ke * tMax);
- fb = b * pow(E, -b * tMax) - Ke * pow(E, -Ke * tMax);
- fxn = xn * pow(E, -xn * tMax) - Ke * pow(E, -Ke * tMax);
- cout << a << " | " << b << " | " << xn << " | " << fxn << " | " << fa << " | " << fb << endl;
- resultados << "[" << xn << ", " << fxn << "], ";
- dif = abs(a - xn);
- if (abs(fxn) < abs(fa))
- a = xn;
- else
- b = xn;
- if (fxn < 0)
- fxn = 0 - fxn;
- else
- fxn = fxn;
- } while (dif >= 0.0001);
- resultados << "]";
- cout << endl << " XN: " << xn << endl;
- }
- void metodoCorda() {
- // Dados
- double Vap = 3.5;
- double Ket = (0.0959 / 60);
- double Ke = Ket;
- double tMax = 5;
- // Valores Inicias
- double a, b;
- // Valor Medio
- double xn;
- // Valor da Funcao
- double fxn, fa, fb;
- cout << "Valores Iniciais" << endl;
- cout << "A: "; cin >> a;
- cout << "B: "; cin >> b;
- cout << endl << "A | B | Xn | F(Xn) | F(a) | F(b)" << endl;
- resultados << "[";
- double dif;
- do {
- fa = a * pow(E, -a * tMax) - Ke * pow(E, -Ke * tMax);
- fb = b * pow(E, -b * tMax) - Ke * pow(E, -Ke * tMax);
- xn = (a*fb - b*fa) / (fb - fa);
- fxn = xn * pow(E, -xn * tMax) - Ke * pow(E, -Ke * tMax);
- cout << a << " | " << b << " | " << xn << " | " << fxn << " | " << fa << " | " << fb << endl;
- resultados << "[" << xn << ", " << fxn << "], ";
- dif = abs(a - xn);
- if (abs(fxn) < abs(fa))
- a = xn;
- else
- b = xn;
- if (fxn < 0)
- fxn = 0 - fxn;
- else
- fxn = fxn;
- } while (dif >= 0.0001);
- resultados << "]";
- cout << endl << " XN: " << xn << endl;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement