Advertisement
sashachca

lab6

May 29th, 2018
239
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Octave 1.14 KB | None | 0 0
  1. function numint
  2.  
  3. % y = x/(2*x+5)
  4.  
  5. a = -1; % нижний предел
  6. b = 1; % верхний предел
  7. h = 0.1; % шаг
  8.  
  9. X = [];
  10. Y = [];
  11.  
  12. j = 1;
  13. for i = a:h:b
  14.   X(j) = i;
  15.   Y(j) = X(j)/(2*X(j)+5);
  16.   j += 1;
  17. endfor
  18. len = j-1;
  19. disp(a:h:b);
  20. disp("\n");
  21.  
  22. sum = 0;
  23. for i = 2:len
  24.   delta = abs(X(i)-X(i-1));
  25.   sum += Y(i-1)*delta;
  26. endfor
  27. disp(" Методом левых прямоугольников:");
  28. rect_left = sum
  29.  
  30. sum = 0;
  31. for i = 2:len
  32.   sum += Y(i)*delta;
  33. endfor
  34. disp("\n Методом правых прямоугольников:");
  35. rect_right = sum
  36.  
  37. sum = 0;
  38. for i = 2:len
  39.   avgX = (X(i)+X(i-1))/2;
  40.   sum += ((avgX/2)/(2*avgX+5))*delta;
  41. endfor
  42. disp("\n Методом средних прямоугольников:");
  43. rect_middle = sum
  44.  
  45. sum = 0;
  46. avgY = (Y(1)+Y(end))/2;
  47. for i = 2:len-1
  48.   sum += Y(i);
  49. endfor
  50. disp("\n Методом трапеций:");
  51. trapeze_method = h*(avgY + sum);
  52. trapeze_method
  53.  
  54. sumAVG = 0;
  55. for i = 2:2:len-1
  56.   sumAVG = (Y(i)+Y(i-1))/2;
  57. endfor
  58. disp("\n Методом Симпсона:");
  59. simpson_method = h/6*(Y(1) + 4*sumAVG + 2*sum + Y(end));
  60. simpson_method
  61.  
  62. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement