Advertisement
Guest User

Untitled

a guest
Dec 9th, 2019
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.75 KB | None | 0 0
  1. clear all
  2. close all
  3. clc
  4.  
  5. dx = 0.1
  6. dt=0.001
  7. X1=0: dx: 1
  8. X2=0: dx: 1
  9. T = 0: dt: 1
  10. M = zeros(length(X1),length(X2))
  11. N = zeros(length(X1),length(X2))
  12.  
  13. for i = 2 : 1 : 10
  14. for j = 2 : 1 : 6
  15. N(i,j) = 1
  16. end
  17. end
  18.  
  19. for i = 6 : 1 : 10
  20. for j = 5 : 1 : 10
  21. N(i,j) = 1
  22. end
  23. end
  24.  
  25. for j = 2 : 1 : 6
  26. N(2, j) = 6
  27. end
  28.  
  29. for j = 2 : 1 : 10
  30. N(10, j) = 5
  31. end
  32.  
  33. for i = 3 : 1 : 9
  34. N(i, 2) = 3
  35. end
  36.  
  37. for i = 6 : 1 : 9
  38. N(i, 10) = 4
  39. end
  40. for i = 6 : 1 : 10
  41. N(5, i) = 6
  42. end
  43. for i = 3 : 1 : 4
  44. N(i, 6) = 4
  45. end
  46. N(5, 6) = 10
  47.  
  48.  
  49. for i=1:1:length(X1)
  50. for j=1:1:length(X2)
  51. if N(i,j) ~= 0
  52. M(i,j) = sin(pi*X1(i))*cos(pi*X2(j))+1;
  53.  
  54. end
  55. end
  56. end
  57.  
  58.  
  59. lista = {M}
  60.  
  61. for k=2: 1: length(T)
  62. a = lista{end};
  63. b = zeros(size(a));
  64. for i=2:1:length(X1)-1
  65. for j=2:1:length(X2)-1
  66. if N(i,j) == 1
  67. b(i,j) = dt/(dx)^2 *(a(i-1,j)+a(i+1,j)+a(i,j-1)+a(i,j+1)-4*a(i,j))+a(i,j);
  68. end
  69. end
  70. end
  71. for i = 1 : 1 : length(X1)
  72. if N(i,j) == 2
  73. b(i,j) = 0
  74. elseif N(i,j) == 3
  75. b(i,j) = b(i, j - 1)
  76. elseif N(i,j) == 4
  77. b(i,j) = b(i, j + 1)
  78. elseif N(i,j) == 5
  79. b(i, j) = b(i - 1, j)
  80. elseif N(i,j) == 6
  81. b(i, j) = b(i + 1, j)
  82. elseif N(i,j) == 7
  83. b(i, j) = b(i - 1, j + 1)
  84. elseif N(i, j) == 8
  85. b(i, j) = b(i + 1, j - 1)
  86. elseif N(i, j) == 9
  87. b(i, j) = b(i - 1, j - 1)
  88. elseif N(i, j) ==10
  89. b(i, j) = b(i + 1, j + 1)
  90. end
  91. end
  92. lista{k} = b;
  93. end
  94.  
  95.  
  96. for t=1:1:length(lista)
  97. mesh(lista{t})
  98. zlim([-1,2])
  99. drawnow
  100. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement