Expert academic support · 100% original work · 24/7 help 24/7 support: support@treatisely.com
Uncategorized

Differential Equations using Matlab, lab3

  • Posted
  • AuthoradminX
  • Length914 words
  • Reading time4 min

%% 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 24×7 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

adminX

Subject expert at Treatisely.

Make your next academic task easier to manage

Tell us what you are working on and take the next step with Treatisely.

Submit your assignment free