Advertisement
Guest User

Untitled

a guest
Dec 21st, 2014
160
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.37 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. #include "windows.h"
  4. using namespace std;
  5.  
  6. double E = 2.718281828459;
  7.  
  8. ofstream resultados;
  9.  
  10. void metodoBissecao();
  11. void metodoCorda();
  12.  
  13. int main() {
  14. resultados.open("resultados.txt");
  15.  
  16. metodoBissecao();
  17. metodoCorda();
  18.  
  19. resultados.close();
  20.  
  21. system("pause");
  22.  
  23. return 0;
  24. }
  25.  
  26. void metodoBissecao() {
  27. // Dados
  28. double Vap = 3.5;
  29. double Ket = (0.0959 / 60);
  30. double Ke = Ket;
  31. double tMax = 5;
  32.  
  33. // Valores Inicias
  34. double a, b;
  35.  
  36. // Valor Medio
  37. double xn;
  38.  
  39. // Valor da Funcao
  40. double fxn, fa, fb;
  41.  
  42. cout << "Valores Iniciais" << endl;
  43. cout << "A: "; cin >> a;
  44. cout << "B: "; cin >> b;
  45.  
  46. cout << endl << "A | B | Xn | F(Xn) | F(a) | F(b)" << endl;
  47.  
  48. resultados << "[";
  49.  
  50. double dif ;
  51. do {
  52. xn = (a + b) / 2;
  53.  
  54. fa = a * pow(E, -a * tMax) - Ke * pow(E, -Ke * tMax);
  55. fb = b * pow(E, -b * tMax) - Ke * pow(E, -Ke * tMax);
  56. fxn = xn * pow(E, -xn * tMax) - Ke * pow(E, -Ke * tMax);
  57.  
  58. cout << a << " | " << b << " | " << xn << " | " << fxn << " | " << fa << " | " << fb << endl;
  59.  
  60. resultados << "[" << xn << ", " << fxn << "], ";
  61.  
  62. dif = abs(a - xn);
  63.  
  64. if (abs(fxn) < abs(fa))
  65. a = xn;
  66. else
  67. b = xn;
  68.  
  69. if (fxn < 0)
  70. fxn = 0 - fxn;
  71. else
  72. fxn = fxn;
  73.  
  74. } while (dif >= 0.0001);
  75. resultados << "]";
  76.  
  77. cout << endl << " XN: " << xn << endl;
  78. }
  79.  
  80. void metodoCorda() {
  81. // Dados
  82. double Vap = 3.5;
  83. double Ket = (0.0959 / 60);
  84. double Ke = Ket;
  85. double tMax = 5;
  86.  
  87. // Valores Inicias
  88. double a, b;
  89.  
  90. // Valor Medio
  91. double xn;
  92.  
  93. // Valor da Funcao
  94. double fxn, fa, fb;
  95.  
  96. cout << "Valores Iniciais" << endl;
  97. cout << "A: "; cin >> a;
  98. cout << "B: "; cin >> b;
  99.  
  100. cout << endl << "A | B | Xn | F(Xn) | F(a) | F(b)" << endl;
  101.  
  102. resultados << "[";
  103.  
  104. double dif;
  105. do {
  106.  
  107. fa = a * pow(E, -a * tMax) - Ke * pow(E, -Ke * tMax);
  108. fb = b * pow(E, -b * tMax) - Ke * pow(E, -Ke * tMax);
  109.  
  110. xn = (a*fb - b*fa) / (fb - fa);
  111.  
  112. fxn = xn * pow(E, -xn * tMax) - Ke * pow(E, -Ke * tMax);
  113.  
  114. cout << a << " | " << b << " | " << xn << " | " << fxn << " | " << fa << " | " << fb << endl;
  115.  
  116. resultados << "[" << xn << ", " << fxn << "], ";
  117.  
  118. dif = abs(a - xn);
  119.  
  120. if (abs(fxn) < abs(fa))
  121. a = xn;
  122. else
  123. b = xn;
  124.  
  125. if (fxn < 0)
  126. fxn = 0 - fxn;
  127. else
  128. fxn = fxn;
  129.  
  130. } while (dif >= 0.0001);
  131. resultados << "]";
  132.  
  133. cout << endl << " XN: " << xn << endl;
  134. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement