Advertisement
Guest User

MNUM

a guest
Oct 22nd, 2017
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.63 KB | None | 0 0
  1. #include <iostream>
  2. #include <math.h>
  3. #include <iomanip>
  4.  
  5. using namespace std;
  6.  
  7. double f(double x) {
  8. return x - 2 * log(x) - 5;
  9. }
  10.  
  11. double f1(double x) {
  12. return sqrt(2 * x + 5);
  13. }
  14.  
  15. double f2(double x) {
  16. return x*x - 20;
  17. }
  18.  
  19. bool bissecao(double a, double b){
  20.  
  21. double xn;
  22. int i=1;
  23.  
  24. while (i <= 100) {
  25. xn = (a + b) / 2;
  26.  
  27. if (f(a)*f(xn) > 0) {
  28. a = xn;
  29. }
  30. else b = xn;
  31.  
  32.  
  33.  
  34. cout << i << " / " << fixed << setw(8) << a << " / " << xn << " / " << b << " / " << f(a) << " / " << f(xn) << " / " << f(b) << endl;
  35.  
  36. i++;
  37. }
  38.  
  39.  
  40.  
  41. return true;
  42. }
  43.  
  44. bool bissecao(double a, double b, double e) {
  45.  
  46. double xn = (a+b)/2, xna;
  47. int i = 0;
  48.  
  49. do {
  50. xna = xn;
  51.  
  52. cout << i << " / " << fixed << setw(5) << a << " / " << xn << " / " << b << " / " << f(a) << " / " << f(xn) << " / " << f(b) << endl;
  53.  
  54.  
  55. if (f(a)*f(xn) > 0) {
  56. a = xn;
  57. }
  58. else b = xn;
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65. xn = (a + b) / 2;
  66.  
  67. i++;
  68. } while (abs(xn - xna) > e);
  69.  
  70.  
  71.  
  72. return true;
  73. }
  74.  
  75. bool corda(double a, double b, double e) {
  76.  
  77.  
  78. double xn = (a*f(b)-b*f(a))/(f(b)-f(a)), xna;
  79. int i = 0;
  80.  
  81. do {
  82. xna = xn;
  83.  
  84. cout << i << " / " << fixed << setw(5) << a << " / " << xn << " / " << b << " / " << f(a) << " / " << f(xn) << " / " << f(b) << endl;
  85.  
  86.  
  87. if (f(a)*f(xn) > 0) {
  88. a = xn;
  89. }
  90. else b = xn;
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97. xn = (a*f(b) - b*f(a)) / (f(b) - f(a));
  98.  
  99. i++;
  100. } while (abs(xn - xna) > e);
  101.  
  102.  
  103.  
  104.  
  105.  
  106. return true;
  107. }
  108.  
  109. bool newton(double a, double b, double e, double xn) {
  110.  
  111. double xna = 999999999;
  112. int i=0;
  113.  
  114. while (abs(xn - xna) > e) {
  115.  
  116. cout << i << " / " << fixed << setw(5) << a << " / " << xn << " / " << b << " / " << f(a) << " / " << f(xn) << " / " << f(b) << endl;
  117.  
  118. xna = xn;
  119.  
  120. xn = xna - f(xna) / (1 - (2 / xna));
  121.  
  122.  
  123.  
  124.  
  125. i++;
  126.  
  127. }
  128.  
  129. return true;
  130.  
  131. }
  132.  
  133. bool picardpeano1() {
  134.  
  135. /*y^2 - 2x -5 = 0
  136. x^2 -y - 20 = 0*/
  137.  
  138.  
  139.  
  140. double x0, y0, x, y;
  141. int i;
  142.  
  143. cout << "Guess: (x, y)\n";
  144. cin >> x0 >> y0;
  145.  
  146. for (i = 0; i <= 50; i++) {
  147. cout << i << " / " << x0 << " / " << y0 << endl;
  148.  
  149. x = (y0*y0 - 5) / 2.0;
  150. y = x0*x0 - 20.0;
  151. x0 = x;
  152. y0 = y;
  153.  
  154.  
  155.  
  156. }
  157.  
  158.  
  159.  
  160. return true;
  161. }
  162.  
  163. bool picardpeano2() {
  164.  
  165. /*y^2 - 2x -5 = 0
  166. x^2 -y - 20 = 0*/
  167.  
  168.  
  169.  
  170. double x0, y0, x, y;
  171. int i;
  172.  
  173. cout << "Guess: (x, y)\n";
  174. cin >> x0 >> y0;
  175.  
  176. for (i = 0; i <= 50; i++) {
  177. cout << i << " / " << x0 << " / " << y0 << endl;
  178.  
  179. x = sqrt(y0 + 20);
  180. y = sqrt(2 * x0 + 5);
  181. x0 = x;
  182. y0 = y;
  183.  
  184.  
  185.  
  186. }
  187.  
  188. //NÂO ESQUECER DO RESIDUO
  189.  
  190. cout << y0*y0 - 2*x0 - 5;
  191.  
  192.  
  193.  
  194. return true;
  195. }
  196.  
  197. int main() {
  198.  
  199. double a = 9, b = 10, e=0.0001, guess = 0.1;
  200.  
  201. picardpeano2();
  202.  
  203.  
  204.  
  205. return 0;
  206. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement