Bird
Raised Fist0
MATLABdata~20 mins

Probability distributions in MATLAB - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Probability Pro
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
Output of Normal Distribution PDF Calculation
What is the output of this MATLAB code snippet that calculates the probability density function (PDF) of a normal distribution at x = 0?
MATLAB
mu = 0;
sigma = 1;
x = 0;
pdf_val = normpdf(x, mu, sigma);
disp(pdf_val);
A0.3989
B0
C1
DNaN
Attempts:
2 left
💡 Hint
Recall the formula for the normal distribution PDF at the mean.
❓ Predict Output
intermediate
2:00remaining
Result of Binomial Distribution CDF Calculation
What is the output of this MATLAB code that calculates the cumulative distribution function (CDF) of a binomial distribution with n=5 trials and probability p=0.5 at x=3?
MATLAB
n = 5;
p = 0.5;
x = 3;
cdf_val = binocdf(x, n, p);
disp(cdf_val);
A0.8125
B0.625
C0.5
D1
Attempts:
2 left
💡 Hint
Sum probabilities of 0 to 3 successes in binomial distribution.
🔧 Debug
advanced
2:00remaining
Identify the Error in Poisson PMF Calculation
What error does this MATLAB code produce when calculating the Poisson probability mass function (PMF) for k=3 with lambda=2?
MATLAB
lambda = 2;
k = 3;
pmf_val = poisspdf(k, lambda
); disp(pmf_val);
ARuntimeError: Undefined function 'poisspdf'
BSyntaxError: Missing closing parenthesis
CValueError: k must be integer
DNo error, outputs 0.1804
Attempts:
2 left
💡 Hint
Check the parentheses in the function call.
❓ Predict Output
advanced
2:00remaining
Output of Exponential Distribution Random Sample Mean
What is the approximate output of this MATLAB code that generates 1000 samples from an exponential distribution with mean 1 and calculates their mean?
MATLAB
lambda = 1;
samples = exprnd(1/lambda, 1000, 1);
mean_val = mean(samples);
disp(round(mean_val,2));
A2.00
B0.50
C1.00
DNaN
Attempts:
2 left
💡 Hint
The mean of exponential distribution is 1/lambda.
🧠 Conceptual
expert
2:00remaining
Which Option Correctly Describes the Relationship Between PDF and CDF?
Which of the following statements correctly describes the relationship between the probability density function (PDF) and the cumulative distribution function (CDF) for a continuous random variable?
AThe PDF is the derivative of the CDF with respect to x only when the variable is discrete.
BThe PDF is the integral of the CDF from negative infinity to x.
CThe PDF and CDF are always equal for all x.
DThe CDF is the integral of the PDF from negative infinity to x.
Attempts:
2 left
💡 Hint
Think about how area under the PDF curve relates to the CDF.

Practice

(1/5)
1. Which MATLAB function is used to create a probability distribution object?
easy
A. rand
B. makedist
C. histogram
D. plot

Solution

  1. Step 1: Understand the purpose of each function

    makedist creates a probability distribution object, while rand generates random numbers, histogram plots data distribution, and plot creates graphs.
  2. Step 2: Identify the correct function for creating distributions

    Only makedist is designed to create probability distribution objects in MATLAB.
  3. Final Answer:

    makedist -> Option B
  4. Quick Check:

    Function to create distribution = makedist [OK]
Hint: Use makedist to create distributions in MATLAB [OK]
Common Mistakes:
  • Confusing makedist with rand
  • Using histogram to create distributions
  • Trying to use plot for distributions
2. Which of the following is the correct syntax to create a normal distribution with mean 0 and standard deviation 1 in MATLAB?
easy
A. pd = makedist('normal', 0, 1);
B. pd = makedist('Normal', 'mean', 0, 'std', 1);
C. pd = makedist('Normal', 0, 1);
D. pd = makedist('Normal', 'mu', 0, 'sigma', 1);

Solution

  1. Step 1: Recall the correct parameter names for normal distribution

    In MATLAB, the normal distribution parameters are specified as 'mu' for mean and 'sigma' for standard deviation.
  2. Step 2: Check the syntax for makedist

    The correct syntax uses name-value pairs: makedist('Normal', 'mu', 0, 'sigma', 1). Other options use incorrect parameter names or formats.
  3. Final Answer:

    pd = makedist('Normal', 'mu', 0, 'sigma', 1); -> Option D
  4. Quick Check:

    Normal dist params = 'mu' and 'sigma' [OK]
Hint: Use 'mu' and 'sigma' as parameter names for normal dist [OK]
Common Mistakes:
  • Using lowercase 'normal' instead of 'Normal'
  • Using 'mean' and 'std' instead of 'mu' and 'sigma'
  • Passing parameters without name-value pairs
3. What is the output of the following MATLAB code?
pd = makedist('Exponential', 'mu', 2);
p = pdf(pd, 1);
disp(round(p, 3));
medium
A. 0.303
B. 0.368
C. 0.500
D. 0.607

Solution

  1. Step 1: Understand the exponential distribution PDF formula

    The PDF for exponential with mean mu=2 is f(x) = (1/2)*exp(-x/2). For x=1, f(1) = 0.5 * exp(-0.5) ≈ 0.5 * 0.6065 = 0.3033.
  2. Step 2: Compute and round the value

    p ≈ 0.3033, round(p, 3) = 0.303.
  3. Final Answer:

    0.303 -> Option A
  4. Quick Check:

    (1/mu)*exp(-x/mu) at x=1, mu=2 ≈ 0.303 [OK]
Hint: Recall pdf = (1/mu)*exp(-x/mu) for exponential [OK]
Common Mistakes:
  • Ignoring the (1/mu) factor
  • Confusing PDF with CDF
  • Rounding errors causing mismatch
4. Identify the error in this MATLAB code snippet:
pd = makedist('Binomial', 'n', 10, 'p', 0.5);
prob = cdf(pd, 11);
medium
A. The probability p must be an integer
B. makedist does not support 'Binomial' distribution
C. The cdf input value 11 exceeds the number of trials n
D. The variable name 'prob' is reserved

Solution

  1. Step 1: Understand binomial distribution parameters

    Binomial distribution with n=10 means possible outcomes are from 0 to 10.
  2. Step 2: Check the cdf input value

    Calling cdf(pd, 11) asks for probability of outcomes ≤ 11, but 11 is outside the valid range (max 10).
  3. Step 3: Identify the error

    Input to cdf must be within 0 to n. Using 11 is invalid and causes an error or unexpected result.
  4. Final Answer:

    The cdf input value 11 exceeds the number of trials n -> Option C
  5. Quick Check:

    cdf input must be ≤ n for binomial [OK]
Hint: cdf input must be within distribution support range [OK]
Common Mistakes:
  • Using cdf input outside valid range
  • Thinking p must be integer
  • Assuming makedist lacks binomial support
5. You want to calculate the probability that a normally distributed variable with mean 5 and standard deviation 2 is less than 7 in MATLAB using a probability distribution object. Which code correctly computes this?
hard
A. pd = makedist('Normal', 'mu', 5, 'sigma', 2); p = cdf(pd, 7);
B. p = normcdf(7, 5, 2);
C. pd = makedist('Normal', 5, 2); p = pdf(pd, 7);
D. p = cdf('Normal', 7, 5, 2);

Solution

  1. Step 1: Understand how to create a normal distribution object

    Use makedist('Normal', 'mu', 5, 'sigma', 2) to create the distribution with mean 5 and std 2.
  2. Step 2: Use cdf to find probability less than 7

    Calling cdf(pd, 7) returns the cumulative probability up to 7.
  3. Step 3: Check other options

    p = normcdf(7, 5, 2); uses normcdf which is valid but not using makedist. pd = makedist('Normal', 5, 2); p = pdf(pd, 7); incorrectly uses pdf instead of cdf. p = cdf('Normal', 7, 5, 2); has wrong syntax for cdf.
  4. Final Answer:

    pd = makedist('Normal', 'mu', 5, 'sigma', 2); p = cdf(pd, 7); -> Option A
  5. Quick Check:

    Use makedist + cdf for cumulative probability [OK]
Hint: Use cdf with makedist object for cumulative probability [OK]
Common Mistakes:
  • Using pdf instead of cdf
  • Wrong syntax for cdf
  • Ignoring distribution parameters
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard