Advertisement
Guest User

Untitled

a guest
Jul 27th, 2017
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.82 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <math.h>
  4.  
  5.  
  6. int main(void){
  7. double dx = 0, dy = 0, dAO = 0, dAU = 0, dAT = 0, dxmin = 0, dxmax = 0, dXAbst = 0, dxph = 0, dyxph = 0, dAres = 0; /*dx: x-wert, dy: zugehöriger y-wert, dAO: Fläche Obersumme, dAU: Fläche Untersumme, dxmin: Untere Grenze,*/
  8. int iSpAnz = 0, iGelesen = 0, i = 0; /*SpaltenAnzahl*/
  9. fprintf(stderr, "Numerische Integration\n\nf(x)=x^2+2x+3\n\n");
  10. fprintf(stderr, "Untere Grenze:\t", dxmin);
  11. scanf("%lf", &dxmin);
  12. fprintf(stderr, "Obere Grenze:\t", dxmax);
  13. scanf("%lf", &dxmax);
  14. fprintf(stderr, "Spaltenanzahl:\t", iSpAnz);
  15. scanf("%d", &iSpAnz);
  16. /*do {
  17. iGelesen = scanf("%lf;%lf;%d", &dxmin, &dxmax, &iSpAnz);
  18. while(getchar()!='\n');
  19. } while(iGelesen != 3);
  20. */
  21. dXAbst = (dxmax - dxmin) / iSpAnz;
  22. for (i = 1; i <= iSpAnz; i = i + 1){
  23. dx = dxmin + dXAbst * i;
  24. dy = fabs(dx*dx + 2*dx + 3);
  25. dAO = dAO + dy * dXAbst;}
  26. for (i = 0; i < iSpAnz; i = i + 1){
  27. dx = dxmin + dXAbst * i;
  28. dy = fabs(dx*dx + 2*dx + 3);
  29. dAU = dAU + dy * dXAbst;}
  30. for (i = 0; i < iSpAnz; i = i + 1){
  31. dx = dxmin + dXAbst * i;
  32. dxph = fabs(dxmin + dXAbst * (i + 1));
  33. dy = fabs(dx*dx + 2*dx + 3);
  34. dyxph = dxph*dxph + 2*dxph + 3;
  35. dAT = dAT + (0.5 * dXAbst * (dy + dyxph));}
  36. iSpAnz = 10000;
  37. for (i = 0; i < iSpAnz; i = i + 1){
  38. dx = dxmin + dXAbst * i;
  39. dxph = fabs(dxmin + dXAbst * (i + 1));
  40. dy = fabs(dx*dx + 2*dx + 3);
  41. dyxph = dxph*dxph + 2*dxph + 3;
  42. dAres = dAres + (0.5 * dXAbst * (dy + dyxph));}
  43.  
  44.  
  45. fprintf(stderr, "Obersumme: %.2f\nUntersumme: %.2f\nTrapezregel: %.2f\nGenaue Flaeche (n=10000): %.2f\n", dAO, dAU, dAT, dAres);
  46.  
  47.  
  48. system("PAUSE");
  49. return 0;
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement