Advertisement
wrahq

Untitled

May 21st, 2019
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.55 KB | None | 0 0
  1. function [calka, teoretyczny_blad] = romberg(f, a, b, dokladnosc)
  2. M(1, 1) = (b - a) * (f(a) + f(b)) / 2;
  3. n = 1;
  4. h = (b - a);
  5. m = 1;
  6. do
  7. n = n + 1;
  8. h = h / 2;
  9. S = sum(f(a + (2 * (1 : 1 : m) - 1) * h));
  10. M(n, 1) = (M(n - 1, 1) + h * S * 2) / 2;
  11. for i = 2 : 1 : n;
  12. M(n, i) = M(n, i - 1) + (M(n, i - 1) - M(n - 1, i - 1)) / (4 ^ (i - 1) - 1);
  13. end
  14. teoretyczny_blad = abs(M(n, n) - M(n - 1, n - 1));
  15. m = m * 2;
  16. until(teoretyczny_blad < dokladnosc)
  17. calka = M(n, n);
  18. fun.m
  19. function y = fun(x)
  20. y = x .^ 2 .* exp(-x);
  21. skrypt.m
  22. format long;
  23. a = 0;
  24. b = 1;
  25. f = @fun;
  26. disp("dokladna wartosc calki");
  27.  
  28. 1
  29.  
  30. calka = 1/(sqrt(4*x-1));
  31. disp(calka);
  32. disp("obliczenia dla dopuszczalnego bledu 1e-4");
  33. [calka1, teoretyczny1] = romberg(f, a, b, 1e-4);
  34. disp("wartosc kwadratury Romberga");
  35. disp(calka1);
  36. disp("szacunkowy blad");
  37. disp(teoretyczny1);
  38. disp("blad rzeczywisty");
  39. rzeczywisty1 = abs(calka - calka1);
  40. disp(rzeczywisty1);
  41. disp("blad rzeczywisty mniejszy od dopuszczalnego?");
  42. disp(rzeczywisty1 <= 1e-4);
  43. disp("blad rzeczywisty nie wiekszy od teoretycznego?");
  44. disp(rzeczywisty1 <= teoretyczny1);
  45. disp("obliczenia dla dopuszczalnego bledu 1e-6");
  46. [calka2, teoretyczny2] = romberg(f, a, b, 1e-6);
  47. disp("wartosc kwadratury Romberga");
  48. disp(calka2);
  49. disp("szacunkowy blad");
  50. disp(teoretyczny2);
  51. disp("blad rzeczywisty");
  52. rzeczywisty2 = abs(calka - calka2);
  53. disp(rzeczywisty2);
  54. disp("blad rzeczywisty mniejszy od dopuszczalnego?");
  55. disp(rzeczywisty2 <= 1e-6);
  56. disp("blad rzeczywisty nie wiekszy od teoretycznego?");
  57. disp(rzeczywisty2 <= teoretyczny2);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement