diff --git a/README.md b/README.md index a5c0450..c997aa6 100644 --- a/README.md +++ b/README.md @@ -47,3 +47,23 @@ y(1)=y0; end ``` ![](assets/README-23f54e97.png) + +# Problem 3 +## Part A +The analytical solution is y = cos(3t) + +## Part B +``` +dt=[.1 .001]; +figure(); +hold on +x=[0:dt(2):3]'; +y_n=zeros(length(x),2); +y_n(1,:)=[1,0]; +for i=2:length(x) + dy=prob3_ode(x,y_n(i-1,:)); + y_n(i,:)=y_n(i-1,:)+ dt(2)*dy; +end +plot(x,cos(3*x),'k-',x,y_n(:,1),'o'); +``` +![](assets/README-4e4bb548.png) diff --git a/assets/README-4e4bb548.png b/assets/README-4e4bb548.png new file mode 100644 index 0000000..5dccf9e Binary files /dev/null and b/assets/README-4e4bb548.png differ diff --git a/prob3_ode.m b/prob3_ode.m new file mode 100644 index 0000000..97cc9a1 --- /dev/null +++ b/prob3_ode.m @@ -0,0 +1,5 @@ +function dy=prob3_ode(t,y) +dy=zeros(size(y)); +dy(1)=y(2); +dy(2)=-9*y(1); +end \ No newline at end of file diff --git a/prob3ptB.m b/prob3ptB.m new file mode 100644 index 0000000..ee1e635 --- /dev/null +++ b/prob3ptB.m @@ -0,0 +1,11 @@ +dt=[.1 .001]; +figure(); +hold on +x=[0:dt(2):3]'; +y_n=zeros(length(x),2); +y_n(1,:)=[1,0]; +for i=2:length(x) + dy=prob3_ode(x,y_n(i-1,:)); + y_n(i,:)=y_n(i-1,:)+ dt(2)*dy; +end +plot(x,cos(3*x),'k-',x,y_n(:,1),'o'); \ No newline at end of file