Differential Equations using Matlab, lab3

%% Lab 3 – Your Name – MAT 275 Lab

% Introduction to Numerical Methods for Solving ODEs

 

%% Exercise 1

% Part (a)

 

% NOTE: We often define the right-hand side of an ODE as some function, say

% f, in terms of the input and output variables in the ODE. For example,

% dy/dt = f(t,y) = 2y. Although the ODE does not explicitly depend on t, it does

% so implicitly since y is a function of t. Therefore, t is an input

% variable of f.

 

% Define ODE function f for ODE dy/dt = f(t,y) = 2y.

 

% Define vector t of time-values over the interval [0,0.5] to compute

% analytical solution vector.

 

% Create vector of analytical solution values at corresponding t values.

 

% NOTE: For the following steps, please use notation consistent with the

% protocol–e.g., use t5 to represent the time vector produced from Euler’s

% method using 5 timesteps and use y500 to represent the numerical solution

% vector produced from Euler’s method using 500 timesteps. In the following

% comments, I refer to “Euler’s method” as “forward Euler’s method,” which

% is more precise since there is also a backward Euler’s method. I use IVP

% as an abbreviation for initial-value problem, which for our purposes here

% means an ODE with associated initial condition.

 

% Solve IVP numerically using forward Euler’s method with 5 timesteps.

 

% Solve IVP numerically using forward Euler’s method with 50 timesteps.

 

% Solve IVP numerically using forward Euler’s method with 500 timesteps.

 

% Solve IVP numerically using forward Euler’s method with 5000 timesteps.

 

% Compute numerical solution error at t=0.5 for forward Euler with 5

% timesteps.

 

% Here, we define error as |analytical solution value – numerical solution

% value|.

 

% Compute numerical solution error at t=0.5 for forward Euler with 50

% timesteps.

 

% Compute numerical solution error at t=0.5 for forward Euler with 500

% timesteps.

 

% Compute numerical solution error at t=0.5 for forward Euler with 5000

% timesteps.

 

% Compute ratio of errors between N=5 and N=50.

 

% Compute ratio of errors between N=50 and N=500.

 

% Compute ratio of errors between N=500 and N=5000.

 

% NOTE: To complete the following table, simply run this section after

% you’ve finished the steps above and copy and paste your errors and ratios

% into the follwing display commands. Make sure you re-align each column

% after entering in values so that it looks pretty.

 

% Display table of errors (and ratios of consecutive errors) for the

% numerical solution at t=0.5 (the last element in the solution vector).

 

disp(‘———————————————-‘)

disp(‘| N | approximation | error | ratio |’)

disp(‘|——|—————–|———-|——–|’)

disp(‘| 5 | 7.4650 | 0.6899 | N/A |’)

disp(‘| 50 | | 0.0801 | 8.6148 |’)

disp(‘| 500 | | | |’)

disp(‘| 5000 | | | |’)

disp(‘———————————————-‘)

 

%%

% Part (b). Your answer here. Notice that by not adding a title to this

% section and skipping to the next line to start our comment, this comment

% will display in black (not green) when we publish it.

 

%%

% Here, we can add another paragraph to our essay answer for part (b) by

% once again partitioning off a new section with no title and beginning our

% comment on the second line of the section.

 

%%

% Part (c). Your answer here.

 

%% Exercise 2

% Part (a)

 

% Plot slopefield for dy/dt = -2y.

 

%%

% Part (b)

 

% Define vector t of time-values over the interval [0,10] to define

% analytical soution vector.

 

% Create vector of analytical solution values at corresponding t values.

 

% NOTE: The “hold on” command in the segment of code to plot the slope

% field indicates to MATLAB to add future plots to the same window unless

% otherwise specified using the “hold off” command.

 

% Plot analytical solution vector with slopefield from (a).

 

%%

% Part (c)

 

% NOTE: Recall we can define the right-hand side of an ODE as some function

% f. In the case of a one-dimensional autonomous ODE, we may define f such

% that dy/dt = f(t,y).

 

% Define ODE function.

 

% Compute numerical solution to IVP with 8 timesteps using forward Euler.

 

% Plot numerical solution with analytical solution from (b) and slopefield

% from (a) using circles to distinguish between the approximated data

% (i.e., the numerical solution values) and actual (analytical) solution.

 

hold off; % end plotting in this figure window

 

%%

% Your response to the essay question for part (c) goes here. Please do not

% answer the question with “the numerical solution is inaccurate because

% the stepsize is too big” or “because there are not enough points in the

% numerical solution.” What is it about this particular solution that makes

% forward Euler so inaccurate for this stepsize? Think about

 

%%

% Part (d)

 

% Define new grid of t and y values at which to plot vectors for slope

% field.

 

% Plot slope field for dy/dt = -2y corresponding to the new grid.

 

% Define vector t of time-values over the interval [??what??] to define

% analytical soution vector.

 

% Create vector of analytical solution values at corresponding t values.

 

% Define ODE function.

 

% Compute numerical solution to IVP with 16 timesteps using forward Euler.

 

%%

% Your essay answer goes here.

 

%% Exercise 3

 

% Display contents of impeuler M-file.

type ‘impeuler.m’

 

% NOTE: Make sure you document your code in impeuler.m appropriately for

% full credit.

 

% Define ODE function for dy/dt = f(t,y) = 2y.

 

% Compute numerical solution to IVP with 5 timesteps using “improved

% Euler.”

 

%%

% How does your output compare to that in the protocol?

 

%% Exercise 4

 

% NOTE: Here, we repeat all the steps from exercise 1, except using

% “improved Euler” instead of forward Euler (or regular Euler). Make sure

% to document your code appropriately.

 

%% Exercise 5

 

% NOTE: Here, we repeat all the steps from exercise 2, except using

% improved Euler rather than forward Euler. Remember code doc.

 

 

%%

Needs help with similar assignment?

We are available 24x7 to deliver the best services and assignment ready within 3-4 hours? Order a custom-written, plagiarism-free paper

Get Answer Over WhatsApp Order Paper Now