
Learn to set up Excel VBA, enable the developer tab, open the Visual Basic Editor, create and rename modules, and save workbooks as macro-enabled for code execution.
Explore the three programming structures—sequence, repetition, and decision—and learn when to use for next versus do while loops in Excel VBA. Build a simple sum with the cells keyword.
Master do while loops in VBA by initializing counters and accumulating sums with the is empty condition. Learn to comment sections and compare do while to loops for numerical methods.
Explore how if-else decision structures in VBA drive grading, using modulo to classify numbers as even or odd and assign letter grades.
Develop a VBA factorial program that handles negatives, zeros, decimals, and integers, uses an integer function and a for loop, and compares with Excel's built-in factorial function for numerical methods.
Explore built-in Excel and VBA functions, how to call them from VBA, including round, log, absolute value, sign, and random, with cross-language context.
Explore Taylor series as polynomial expansions around zero or around one to approximate complex functions, including exp(x), using derivatives, factorials, and higher-order terms, enabling easy, efficient coding in Excel/VBA.
Learn to build Taylor series expansions around 1 for functions like e^x using iterative terms, factorials, and approximate vs true error, with Excel/VBA coding.
Apply forward, backward, and centered finite difference methods to approximate the first derivative using Taylor series, analyze truncation errors, and assess the impact of step size.
Compare forward, backward, and centered finite difference methods in VBA for the first derivative of f(x) = log x + x^2, and analyze how step size affects accuracy.
Derive forward, backward, and centered finite difference formulas for the second derivative using Taylor series. Show centered differences provide accuracy and improve as the step size decreases, with VBA code.
Explore high accuracy finite difference formulas for the first and second derivatives, built from Taylor series to surpass conventional centered and forward differences, and compare truncation errors.
Approximate the area under the curve from 2 to 4 with the trapezoidal rule, using a first-order polynomial, and implement a VBA program to achieve below 0.1 percent error.
Discover Simpson's 1/3 rule for numerical integration, using second-order polynomials and Newton interpolation to accurately compute the area under the curve, and compare it with the trapezoidal rule.
Master Romberg integration by successively refining trapezoidal approximations and combining results across levels to achieve highly accurate numerical integration.
Learn to solve ordinary differential equations with Euler's method from a derivative and initial condition, and compare step sizes 0.5, 0.2, and 0.1 against the true solution y = e^{2x}.
Explore Heun's, Midpoint, and Ralston methods for solving differential equations, using start-to-end averages, Midpoint derivatives, and weighted averages to improve accuracy.
Learn the fourth-order Runge-Kutta method and the general Runge-Kutta framework, comparing RK4 with Euler, Heun, midpoint, and Ralston techniques for solving initial-value problems.
Learn to bracket roots with the bisection method, using two guesses to narrow intervals, apply sign-change criteria, and implement iterative VBA code to approximate roots like x^2−x−2.
Explore bracketing methods with the false position method, showing how it improves over bisection by using end-point function values to locate roots, with a one-line code difference and faster convergence.
Explore open methods for root finding with the Newton-Raphson method using a single guess and derivative. Compare its convergence and error with bracketing methods like bisection and false position.
Compare the secant method and Newton-Raphson as open methods, using backward finite difference and Taylor series to approximate derivatives and evaluate iteration accuracy.
Learn about multiple roots where the graph tangentially touches x-axis, why bracketing methods fail, and how a modified Newton-Raphson using second derivative avoids division by zero and regains convergence.
Learn to use Excel goal seek and solver to find roots and optimize problems, including three roots from a function, initial guesses, and a parachute cost minimization example.
Explore optimization fundamentals: identify minima, maxima, saddles, and local versus global optima, apply the second derivative test and contour lines, and graph 2-D functions in Excel.
Master analytical and numerical optimization for one- and two-variable functions, finding critical points via derivatives and classifying them with the second derivative test and Hessian to identify maxima, minima, saddles.
Apply Newton-Raphson to turn optimization into root finding, solve f'(x)=0 to locate optima, and use the second derivative test to classify minima or maxima.
Learn the golden section search method for locating maxima (and minima) using the golden ratio to place x1 and x2, update limits, and compare its linear convergence to Newton-Raphson.
Explore how gradient descent turns 2-D optimization into 1-D line searches along a gradient direction, incorporating Newton-Raphson ideas, then convert back to x,y until reaching the valley bottom.
Learn to work with arrays in VBA by creating vectors and matrices, inputting from and outputting to Excel cells, and using nested loops to handle rows and columns.
Explore matrix properties and manipulations in Excel/VBA, including addition, multiplication, and transpose of 3x3 matrices. Learn about the principal diagonal, identity and unit matrices, with practical VBA input from Excel.
Learn Gauss elimination for solving systems of equations in Excel/VBA, using forward elimination to create zeros in the augmented matrix and backward substitution to find x3, x2, and x1.
Explore Gauss elimination in Excel/VBA by implementing forward elimination and backward substitution to solve a 3x3 system, including input, arrays, factors, and final display.
Explore Gauss elimination with partial pivoting to solve systems of equations by forward elimination and backward substitution, including row swapping to avoid division by zero and ensure stable pivots.
Explore solving linear systems with the Gauss-Jordan method by forward elimination, backward elimination, and normalization to convert the augmented matrix to an identity matrix, yielding the solution on the right.
Explore LU decomposition to solve systems of equations by decomposing A into L and U, then apply forward substitution with L and backward substitution with U using an augmented matrix.
Explore LU decomposition to generate the inverse of a matrix by solving three right-hand side vectors using forward elimination, backward substitution, and a final identity test.
Learn linear regression to fit a straight line by minimizing residuals, determining the intercept and slope, and computing r-squared. Implement in VBA and compare with Excel’s trend line.
Explore polynomial regression to fit nonlinear data by minimizing the sum of squared residuals, solving a 3x3 system with matrix A and vector B, and evaluating fit with r-squared.
Apply linearization to fit power, exponential, and saturation growth trends by transforming them into linear forms and performing regression; extract A and B and assess with R-squared.
Explore cubic spline interpolation to fit a separate cubic on each interval between data points, using second derivatives and a tri-diagonal system solved by the Thomas algorithm.
Numerical modeling is a very powerful branch of mathematics. It is capable to solve very complex problems using very simple techniques.
It is a branch that can differentiate and integral without the need to use any of the sometimes complex differentiation and integration rules. It can create best fit models with just knowing a data set. It can create functions where the only thing we know is its derivative and a condition. And best of all, it can generate approximations that have such a low percentage error that they are as good as the true value.
But...
There is a limitation to numerical methods. They depend of iterative calculations. If for example you want an approximation with a low error, for example 0.001%, this will require a large amount of calculations which can be sometimes impossible to do by hand not to mention tedious. This is where programming comes in.
In this course I will walk you through not only the workings of each technique but a step by step process on how to program each of these techniques and preform hundreds if not thousands of calculations with a click of a button using one of the most powerful softwares created, EXCEL. And I'll be using excel's inbuilt programming language, VBA.
The great thing about programming languages is they all follow the same programming structure, sequence, repetition and decision making. Meaning, if you know one language you can learn another very easily by just knowing how these structures are defined in the new language.
In this course you'll have a very good grasp of these structure so if you decide to learn another language afterwards it will be very easy.
This project was a means for me to give back and contribute. I hope you find some value in this course.
Thank you and Enjoy!!