diff options
author | Vasil Zlatanov <v@skozl.com> | 2017-03-05 20:25:30 +0000 |
---|---|---|
committer | Vasil Zlatanov <v@skozl.com> | 2017-03-05 20:25:30 +0000 |
commit | 86466678b35deb496f6fd5ad08e527412290b3d3 (patch) | |
tree | d5af05844557a4e5b4e2db69d876c9ff46ff7858 /coursework17 | |
parent | 0c4597af1ff1c30f4f7df8735fb8e38e1e6e6b86 (diff) | |
download | e2-matlab-86466678b35deb496f6fd5ad08e527412290b3d3.tar.gz e2-matlab-86466678b35deb496f6fd5ad08e527412290b3d3.tar.bz2 e2-matlab-86466678b35deb496f6fd5ad08e527412290b3d3.zip |
add more initial conditions
Diffstat (limited to 'coursework17')
-rw-r--r-- | coursework17/ex4.m | 45 |
1 files changed, 35 insertions, 10 deletions
diff --git a/coursework17/ex4.m b/coursework17/ex4.m index b82b60b..6f44271 100644 --- a/coursework17/ex4.m +++ b/coursework17/ex4.m @@ -23,20 +23,45 @@ u = zeros(length(t),length(x)); u(1,:) = 0; u(1,length(x)) = 0; -% Initial condition -for i = 1:length(x) - if x(i) <= 0.5 - u(1,i) = 2*x(i);; - else - u(1,i) = 2*(1-x(i)); - end +% % Initial condition 1 +% for i = 1:length(x) +% if x(i) <= 0.5 +% u(1,i) = 2*x(i);; +% else +% u(1,i) = 2*(1-x(i)); +% end +% end + +% % Initial condition 2 +% for i = 1:length(x) +% u(1,i) = abs(sin(2*pi*x(i))); +% % u(1,i) = sin(2*pi*x(i)); +% end + +% % Initial Condition 3 +% for i = 0.25/dx:0.75/dx +% u(1,i) = 1; +% end + + +% Initial Condition 4 +for i = 1:0.5/dx + u(1,i) = -1; end - +for i = 0.5/dx+1:length(x) + u(1,i) = 1; +end + + + + for m = 1:length(t) % Set boundaries - u(m+1,1) = 0.5 * m /length(t); - u(m+1,length(x)) = 0.5 * m /length(t); +% u(m+1,1) = 0.5 * m /length(t); +% u(m+1,length(x)) = 0.5 * m /length(t); + u(m+1,1) = 0; + u(m+1,length(x)) = 0; for j = 2:(length(x)-1) % multiply out (1-2v) and factorise out v u(m+1,j) = u(m,j) + ((dt/(dx^2))*(u(m,j+1) - 2*u(m,j) + u(m,j-1))); |