summaryrefslogtreecommitdiff
path: root/coursework17
diff options
context:
space:
mode:
Diffstat (limited to 'coursework17')
-rw-r--r--coursework17/ex4.m36
1 files changed, 21 insertions, 15 deletions
diff --git a/coursework17/ex4.m b/coursework17/ex4.m
index 7e2175a..b480258 100644
--- a/coursework17/ex4.m
+++ b/coursework17/ex4.m
@@ -5,14 +5,17 @@
clear
-dx = input('Input position step (for example 0.01): '); % play about with this to get resolution
+dx = 0.002
+% dx = input('Input position step (for example 0.01): '); % play about with this to get resolution
% Calulate maximum dt to maintain stability, based on the tailor expansion.
dt = dx^2/2;
-tfin = input('Input the time you wawnt to end the simulation (for example 0.1): ');
+tfin = 0.1
+% tfin = input('Input the time you wawnt to end the simulation (for example 0.1): ');
-lines = input('How many lines across the time range would you like to plot (for example 10): ');
+lines = 10
+% lines = input('How many lines across the time range would you like to plot (for example 10): ');
% Create x and t for plotting in the array
x = 0:dx:1;
@@ -34,24 +37,27 @@ u(1,length(x)) = 0;
% % 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));
+% % 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
-
+ % Initial Condition 4
+ for i = 1:0.25/dx
+ u(1,i) = -1;
+ end
+ for i = 0.25/dx+1:0.75/dx
+ u(1,i) = -1+(i*dx-0.25)*4;
+ end
+ for i = 0.75/dx+1:length(x)
+ u(1,i) = 1;
+ end
+
@@ -76,6 +82,6 @@ for i = 1:round(length(t)/lines):length(t)
plot(x,u(i,:),'.');
legendInfo{j} = ['t = ' num2str(round(i*dt, 3))];
end
-legend(legendInfo);
+legend(legendInfo,'Location', 'southeast');
xlabel('Displacement');
ylabel('Temperature');