diff --git a/Problem5.m b/Problem5.m new file mode 100644 index 0000000..063467b --- /dev/null +++ b/Problem5.m @@ -0,0 +1,26 @@ +set(0, 'defaultAxesFontSize', 16) +set(0,'defaultTextFontSize',14) +set(0,'defaultLineLineWidth',1) +dt=0.1; + x=[0:dt:20]'; + y_n=zeros(length(x),4); + y_n(1,:)=[10 0 0 2]; + for i=2:length(x) + dy=phugoid_ode(x(i-1),y_n(i-1,:)); + y_n(i,:)=y_n(i-1,:)+dt*dy; + end + +dt=0.01; + x=[0:dt:20]'; + y_n2=zeros(length(x),4); + y_n2(1,:)=[10 0 0 2]; + for i=2:length(x) + dy=phugoid_ode(x(i-1),y_n2(i-1,:)); + y_n2(i,:)=y_n2(i-1,:)+dt*dy; + end + [t23,y23]=ode23(@(t,y) phugoid_ode(t,y),[0 20],[10 0 0 2]); + d = figure(4); + plot(y_n(:,3),y_n(:,4),y_n2(:,3),y_n2(:,4),y23(:,3),y23(:,4)) + legend('Euler .1','Euler .01','ode23','Location','Northeast') + xlabel('Distance') + ylabel('Height') \ No newline at end of file diff --git a/README.md b/README.md index 4ddc63c..94c13da 100644 --- a/README.md +++ b/README.md @@ -137,3 +137,34 @@ function x = prob4ptC(prob4_ode, dt, x0,tlimits) end ``` ![](assets/README-ac6c7a25.png) + +# Problem 5 +``` +set(0, 'defaultAxesFontSize', 16) +set(0,'defaultTextFontSize',14) +set(0,'defaultLineLineWidth',1) +dt=0.1; + x=[0:dt:20]'; + y_n=zeros(length(x),4); + y_n(1,:)=[10 0 0 2]; + for i=2:length(x) + dy=phugoid_ode(x(i-1),y_n(i-1,:)); + y_n(i,:)=y_n(i-1,:)+dt*dy; + end + +dt=0.01; + x=[0:dt:20]'; + y_n2=zeros(length(x),4); + y_n2(1,:)=[10 0 0 2]; + for i=2:length(x) + dy=phugoid_ode(x(i-1),y_n2(i-1,:)); + y_n2(i,:)=y_n2(i-1,:)+dt*dy; + end + [t23,y23]=ode23(@(t,y) phugoid_ode(t,y),[0 20],[10 0 0 2]); + d = figure(4); + plot(y_n(:,3),y_n(:,4),y_n2(:,3),y_n2(:,4),y23(:,3),y23(:,4)) + legend('Euler .1','Euler .01','ode23','Location','Northeast') + xlabel('Distance') + ylabel('Height') + ``` + ![](assets/README-f6577255.png) diff --git a/assets/README-f6577255.png b/assets/README-f6577255.png new file mode 100644 index 0000000..94beb0e Binary files /dev/null and b/assets/README-f6577255.png differ diff --git a/figure_04.png b/figure_04.png new file mode 100644 index 0000000..da4961c Binary files /dev/null and b/figure_04.png differ diff --git a/phugoid_ode.m b/phugoid_ode.m new file mode 100644 index 0000000..4fe72da --- /dev/null +++ b/phugoid_ode.m @@ -0,0 +1,11 @@ +function dy=phugoid_ode(t,y) +g=9.81; +vt=5.5; +cl=5.2; +cd=1; +dy=zeros(size(y)); +dy(1)=-g*sin(y(2))-cd/cl*g/vt^2*y(1)^2; +dy(2)=-g/y(1)*cos(y(2))+g/vt^2*y(1); +dy(3)=y(1)*cos(y(2)); +dy(4)=y(1)*sin(y(2)); +end \ No newline at end of file