From a3249ee954773510a84eb2b5ffdddc8b50ec8ae8 Mon Sep 17 00:00:00 2001 From: nin13001 <32068635+nin13001@users.noreply.github.com> Date: Wed, 6 Dec 2017 00:16:00 -0500 Subject: [PATCH] problem 4 --- README.md | 44 +++++++++++++++++++++++++++++++++++++ assets/README-ac6c7a25.png | Bin 0 -> 45618 bytes prob4_ode.m | 8 +++++++ prob4plot.m | 20 +++++++++++++++++ prob4ptC.m | 20 +++++++++++++++++ 5 files changed, 92 insertions(+) create mode 100644 assets/README-ac6c7a25.png create mode 100644 prob4_ode.m create mode 100644 prob4plot.m create mode 100644 prob4ptC.m diff --git a/README.md b/README.md index 8e9c04d..4ddc63c 100644 --- a/README.md +++ b/README.md @@ -93,3 +93,47 @@ function y = prob3ptC(prob3_ode, dt, y0,tlimits) end ``` ![](assets/README-fcbec9a1.png) + +# Problem 4 +## Part A +The analytical solution to v'=g-cd/m v*v is + +## Part B +``` +cd = 0.25; +m = 60; +g = 9.81; +dt = 0.1; +t = [0:dt:12]'; +x = zeros(length(t),2); +x(1,:) = [1000, 0]; +for i = 2:length(t) + dx = prob4_ode(t,x(i-1,:)); + x(i,:) = x(i-1,:)+dt*dx; +end +``` + +## Part C +``` +function x = prob4ptC(prob4_ode, dt, x0,tlimits) + t = [tlimits(1):dt:tlimits(2)]; + x = zeros(length(t),length(x0)); + x(1,:) = x0; + for i = 2:length(t) + dx = prob4_ode(t(i-1),x(i-1,:)); + x(i,:) = x(i-1,:)+dt*dx; + dxc = (dx + prob4_ode(t(i),x(i,:)))/2; + x(i,:) = x(i-1,:)+dt*dxc; + n = 1; + while (1) + n = n+1; + yold = x(i,:); + dxc = (dx+prob4_ode(t(i),x(i,:)))/2; + x(i,:) = x(i-1,:)+dt*dxc; + ea = abs(x(i,:)- yold)./x(i,:)*100; + if max(ea) < 0.0001 || n>100; break, end + end + end +end +``` +![](assets/README-ac6c7a25.png) diff --git a/assets/README-ac6c7a25.png b/assets/README-ac6c7a25.png new file mode 100644 index 0000000000000000000000000000000000000000..d5d0d51b1d37c04f0b2aad37583c2fd6216384fd GIT binary patch literal 45618 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≥&jdF}JLMiLk%0Me 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 literal 0 HcmV?d00001 diff --git a/prob4_ode.m b/prob4_ode.m new file mode 100644 index 0000000..926a432 --- /dev/null +++ b/prob4_ode.m @@ -0,0 +1,8 @@ +function dx = ode4(t,x) +g = 9.81; +cd = 0.25; +m = 60; +dx = zeros(size(x)); +dx(1) = x(2); +dx(2) = g -(cd/m)*x(2)^2; +end \ No newline at end of file diff --git a/prob4plot.m b/prob4plot.m new file mode 100644 index 0000000..f41d964 --- /dev/null +++ b/prob4plot.m @@ -0,0 +1,20 @@ +set(0, 'defaultAxesFontSize', 16) +set(0,'defaultTextFontSize',14) +set(0,'defaultLineLineWidth',3) +cd = 0.25; +m = 60; +g = 9.81; +dt = 0.1; +t = [0:dt:12]'; +x = zeros(length(t),2); +x(1,:) = [1000, 0]; +for i = 2:length(t) + dx = prob4_ode(t,x(i-1,:)); + x(i,:) = x(i-1,:)+dt*dx; +end +c = figure(3); +x_heun = prob4ptC (@(t,x) prob4_ode(t,x), 0.1, [1000, 0], [0 12]); +plot(t, m/cd*log(cosh(sqrt((g*cd)/m)*t))+1000,t,x(:,1),t,x_heun(:,1)); +legend('Analytical','Euler','Heuns','Location','Northeast') +xlabel('Time') +ylabel('Position') \ No newline at end of file diff --git a/prob4ptC.m b/prob4ptC.m new file mode 100644 index 0000000..f1dff21 --- /dev/null +++ b/prob4ptC.m @@ -0,0 +1,20 @@ +function x = prob4ptC(prob4_ode, dt, x0,tlimits) + t = [tlimits(1):dt:tlimits(2)]; + x = zeros(length(t),length(x0)); + x(1,:) = x0; + for i = 2:length(t) + dx = prob4_ode(t(i-1),x(i-1,:)); + x(i,:) = x(i-1,:)+dt*dx; + dxc = (dx + prob4_ode(t(i),x(i,:)))/2; + x(i,:) = x(i-1,:)+dt*dxc; + n = 1; + while (1) + n = n+1; + yold = x(i,:); + dxc = (dx+prob4_ode(t(i),x(i,:)))/2; + x(i,:) = x(i-1,:)+dt*dxc; + ea = abs(x(i,:)- yold)./x(i,:)*100; + if max(ea) < 0.0001 || n>100; break, end + end + end +end \ No newline at end of file