A courseware module that covers fundamental concepts including the basics of probability, random variables, and Bayes' Theorem.
Updated 7 Nov 2023

Fundamentals of Probability Theory

View on File Exchange or Open in MATLAB Online

Curriculum Module

Created with R2021a. Compatible with R2021a and later releases.


This curriculum module contains interactive MATLAB® live scripts and supporting files that teach fundamental concepts in probability theory and statistical inference.


You can use these live scripts as demonstrations in lectures, class activities, or interactive assignments outside class. This module covers subjective, empirical, classical, and conditional probability, Bayes' theorem, concepts of discrete and continuous random variables, probability distributions, sampling, and the central limit theorem. It also includes examples of using Bayes' theorem to create an email spam filter.

The instructions inside the live scripts will guide you through the exercises and activities. Get started with each live script by running it one section at a time. To stop running the script or a section midway (for example, when an animation is in progress), use the EndIcon.png Stop button in the RUN section of the Live Editor tab in the MATLAB Toolstrip.

Contact Us

Solutions are available upon instructor request. Contact the MathWorks teaching resources team if you would like to request solutions, provide feedback, or if you have a question.


This module assumes a knowledge of basic concepts in set theory, such as ⋃ (union) and ⋂ (intersection). It also assumes basic fluency in mathematical notation for Σ (summation) and Π (product). Other notation relevant to probability theory is introduced within the module as needed.

No coding knowledge is expected. If you want to read the code, it would be helpful to have at least some familiarity with MATLAB, at the level of the MATLAB Onramp, a free two-hour introductory course.

Getting Started

Accessing the Module

On MATLAB Online:

Use the OpenInMO.png link to download the module. You will be prompted to log in or create a MathWorks account. The project will be loaded, and you will see an app with several navigation options to get you started.

On Desktop:

Download or clone this repository. Open MATLAB, navigate to the folder containing these scripts and double-click on [Probability.prj](matlab: openProject("Probability.prj")). It will add the appropriate files to your MATLAB path and open an app that asks you where you would like to start.

Ensure you have all the required products (listed below) installed. If you need to include a product, add it using the Add-On Explorer. To install an add-on, go to the Home tab and select AddOnsIcon.png Add-Ons > Get Add-Ons.


MATLAB® and the Statistics and Machine Learning Toolbox™ are used throughout.


In this script, students will...
- explain the commonly used terms in probability such as random experiment, random process, trial, event, outcome, countable, equally likely, sample space, mutual independence.
- define and compute the classical and empirical probability of events.
- explain the limitations and strengths of the subjective, classical, and empirical perspectives of probability.
- state and apply Kolmogorov's axioms of probability.
In this script, students will...
- define and create random variables to describe random processes.
- generate an empirical distribution of random variables through random sampling.
- explain the meaning of expectation and variance for random variables.
- explain the difference between continuous and discrete random variables.
- identify and use the discrete uniform and continuous normal probability distributions.
- define and apply the probability density function and cumulative density function to find the probability of a random variable's value falling within a given interval.
- state the Central Limit Theorem and explain its implications for statistical inference.
In this script, students will...
- define conditional probability, and explain how it affects the sample space.
- state Bayes' theorem mathematically, and explain its implications for statistical inference.
- apply Bayes' theorem to practical real-world problems.

Related Courseware Modules

Courseware Module Sample Content Available on:

Descriptive Statistics and Probability Distributions

Or feel free to explore our other modular courseware content.

Educator Resources


Looking for more? Find an issue? Have a suggestion? Please contact the MathWorks teaching resources team. If you want to contribute directly to this project, you can find information about how to do so in the page on GitHub.


You can find the license for this module on GitHub.

© Copyright 2023 The MathWorks™, Inc

Cite As

Emma Smith Zbarsky (2024). Probability-Theory (, GitHub. Retrieved .

MATLAB Release Compatibility
Created with R2021a
Compatible with any release
Platform Compatibility
Windows macOS Linux
More Files in the  Distance Learning Community

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes

See release notes for this release on GitHub:

See release notes for this release on GitHub:


See release notes for this release on GitHub:


See release notes for this release on GitHub:


See release notes for this release on GitHub:


See release notes for this release on GitHub:


To view or report issues in this GitHub add-on, visit the GitHub Repository.
To view or report issues in this GitHub add-on, visit the GitHub Repository.