Advertisement
Guest User

Untitled

a guest
Jun 18th, 2018
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.16 KB | None | 0 0
  1. clear all;
  2. clc;
  3.  
  4. % Rozmiar siatki
  5. K = input('K ');
  6. L = input('L ');
  7. %L = 100;
  8. %K = 100;
  9. h = 1/(K-1);
  10. g = 1/(L-1);
  11.  
  12. % Punkty siatki
  13. x = 0:g:1;
  14. t = 0:h:1;
  15.  
  16. % Warunek początkowy
  17. w_pocz = 0;
  18. for j=1:L,
  19. y(1,j) = w_pocz;
  20. end
  21. for i=1:K,
  22. y(i,L) = 0;
  23. end
  24.  
  25.  
  26. % Rozwiązanie dokładne i ksi
  27. for j=1:L
  28. for i=1:K
  29. yd(i,j) = sin(pi*x(j))*exp(-pi*pi*t(i))*(1-cos(4*pi*t(i)));
  30. ksi(i,j) = 4*pi*sin(pi*x(j))*sin(4*pi*t(i))*exp(-pi*pi*t(i));
  31. end
  32. end
  33.  
  34. % Parametry pomocnicze
  35. del = 1/2 - (g*g)/(12*h);
  36. A = -del/(g*g);
  37. C = A;
  38. B = (2*del)/g^2 + 1/h;
  39. alfa(2) = 0;
  40. beta(2) = 0;
  41.  
  42. % Poszukiwanie rozwiązania
  43. for i=1:K-1,
  44. for j=2:L-1,
  45. F(i,j) = -ksi(i,j)-((1-del)/g^2)*(y(i,j+1)+y(i,j-1))+((2-2*del)/g^2-1/h)*y(i,j);
  46. alfa(j+1) = C/(-B-alfa(j)*A);
  47. beta(j+1) = ((A*beta(j))+F(i,j))/(-B-alfa(j)*A);
  48. end
  49. for j=L-1:-1:1,
  50. y(i+1,j) = alfa(j+1)*y(i+1,j+1)+beta(j+1);
  51. end
  52. end
  53.  
  54. % Błąd średniokwadratowy
  55. suma = 0;
  56. for i=1:K
  57. for j=1:L
  58. blad_q(i,j) = (yd(i,j)-y(i,j))^2;
  59. suma = suma+blad_q(i,j);
  60. end
  61. end
  62.  
  63. blad = sqrt(suma)/(K*L);
  64. mesh(x,t,y)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement