This course has everything you need to learn and understand Differential Equations. This course covers:
This course will continue to evolve and improve based on feedback from the course participants.
Some information about the course instructor and the structure of the course.
A note on the notation (Leibniz, Lagrange, Newton) that is used for the derivatives.
A look at the differentiation of compositions of functions.
A look at implicitly defined functions and how to differentiate them.
Before we learn how to solve differential equations, let's take a look at how to actually make one!
One key characteristic of a differential equation is its order.
Once you have a solution to a differential equation, verifying a solution is easy: simply substitute the function, together with all necessary derivatives, back into the equation and see if the equality holds.
A look at the direct integration approach, which helps us solve the simplest differential equations.
A look at an approach called separation of variables that helps us separate out the x and y terms to different sides of the equation for subsequent integration.
An explanation of the concept of a homogeneous function of one or more variables. This will be useful for solving homogeneous ODEs.
A look at homogeneous equations and how to solve them using the y=vx substitution.
A look at linear first-order differential equations and the use of the integrating factor.
A look at Bernoulli's equations, which are also first-order but non-linear due to an yn term on the right.
A look at the method of exact equations.
A look at MATLAB's support for symbolic differentiation, integration and solving differential equations.
A summary of all the methods we've seen for solving 1st-order ODEs.
A look at the Reduction of Order technique which helps us turn some higher-order (not necessarily linear) equations into first-order ones.
A look at Second-Order Linear equations with constant coefficients.
A solution with an auxiliary equation that yields two real roots.
A solution with an auxiliary equation that yields a single real root.
A solution with an auxiliary equation that yields complex roots.
An introduction to the idea of transforms and, specifically, the Laplace transform.
A look at a few Laplace transforms of simple functions.
The inverse transform is just as useful as the transform itself!
Laplace transform of first and second derivatives of a function.
A look at how to find to find direct and inverse Laplace transforms in MATLAB.
A look at how to differentiate Laplace transforms.
Finally, leveraging the Laplace transform to simplify solving differential equations.
Having differentiated Laplace transforms, how about integrating one?
Introducing Fourier Series.
A look at how to integrate periodic functions.
Introducing the concept of mutually orthogonal functions.
Finally, a look at the Fourier Series itself.
An explanation of how to calculate the coefficients in the Fourier Series for a particular function f(x).
A look at what partial derivatives are.
Ways of actually writing down partial derivatives.
A look at the general form of a 2nd-order linear PDE.
We solve a pair of differential equations with boundary conditions.
A look at how to solve PDEs symbolically - in Maple, not MATLAB.
An equation that describes the propagation of waves.
A practical example of finding an exact solution to the wave equation.
Introducing numerical methods.
Our first attempt at finding a numeric solution to differential equations.
An attempt to improve upon Euler's method by treating the area under the curve as a trapezoid instead of a rectangle.
A significant improvement upon Euler's method, representing the slice between the curves as a parabola.
A look at forward, backward and central difference approximations of first and second derivatives of functions.
Dmitri Nesteruk is a developer, speaker and podcaster. His interests lie in software development and integration practices in the areas of computation, quantitative finance and algorithmic trading. His technological interests include C#, F# and C++ programming as well high-performance computing using technologies such as CUDA. He has been a C# MVP since 2009.
Dmitri is a graduate of University of Southampton (B.Sc. Computer Science) where he currently holds a position as a Visiting Researcher. He is also an instructor on an online intro-level Quantitative Finance course, and has also made online video courses on CUDA, MATLAB, D, the Boost libraries and other topics.