Guest User

Untitled

a guest
Jan 21st, 2018
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.97 KB | None | 0 0
  1. //---------------------------------------------------------------------------
  2.  
  3. #include <vcl.h>
  4. #pragma hdrstop
  5. #include<iostream.h>
  6. #include<conio.h>
  7. #include<math.h>
  8. //---------------------------------------------------------------------------
  9. double h=0.1;
  10. double e=0.01;
  11. double f1(double x)
  12. {
  13. return 0;
  14. }
  15. double f2(double x)
  16. {
  17. return 50*x*(1-x);
  18. }
  19. double f3(double y)
  20. {
  21. return 50*y*(1-y*y);
  22. }
  23. double f4(double x)
  24. {
  25. return 50*x*(1-x);
  26. }
  27. static void Derihle(double x, double y, double s, double f)
  28. {
  29. s=1;//double x,y,s=1,f;
  30. int a=(1.0/h)+1;
  31. int b=(1.0/h)+1;
  32. double u[100][100];
  33. for (int i = 0; i < a; i++)
  34. {
  35.  
  36. for (int j = 0; j < b; j++)
  37. {
  38. u[i][j] = 0;
  39. }
  40. }
  41. for (int i = 0; i < a; i++)
  42. {
  43. x = i * h;
  44. y = i * h;
  45. u[i][0] = f2(x);
  46. u[i][b - 1] = f4(x);
  47. u[0][i] = f1(y);
  48. u[a - 1][i] = f3(y);
  49. }
  50. int k = 0;
  51. while (s > e)
  52. {
  53. k++;
  54. for (int i = 1; i < a - 1; i++)
  55. {
  56. for (int j = 1; j < b - 1; j++)
  57. {
  58. f = u[i][j];
  59. u[i][j] = (u[i + 1][j] + u[i - 1][j] + u[i][j + 1] + u[i][j - 1]) / 4;
  60. s = abs(f - u[i][j]);
  61. }
  62. }
  63. }
  64.  
  65. for (int i = 0; i < a; i++)
  66. {
  67. for (int j = 0; j < b; j++)
  68. {
  69. cout<<u[j][i]<<"\t";
  70. }
  71. cout<<"\n";
  72. }
  73.  
  74. }
  75.  
  76. void main()
  77. {
  78. Derihle(x,y,s,f);
  79. getch();
  80. }
  81.  
  82.  
  83.  
  84.  
  85. //---------------------------------------------------------------------------
Add Comment
Please, Sign In to add comment