Bird
Raised Fist0
MATLABdata~10 mins

Probability distributions in MATLAB - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to create a normal distribution with mean 0 and standard deviation 1.

MATLAB
pd = makedist('Normal', 'mu', [1], 'sigma', 1);
Drag options to blanks, or click blank then click option'
A1
B0
C-1
D2
Attempts:
3 left
💡 Hint
Common Mistakes
Using standard deviation value instead of mean.
Confusing mean with sigma.
2fill in blank
medium

Complete the code to calculate the probability density function (pdf) at x = 2 for the distribution pd.

MATLAB
y = pdf(pd, [1]);
Drag options to blanks, or click blank then click option'
A2
B1
C0
D-2
Attempts:
3 left
💡 Hint
Common Mistakes
Using the mean instead of the point 2.
Passing a vector instead of a scalar.
3fill in blank
hard

Fix the error in the code to generate 5 random samples from the distribution pd.

MATLAB
samples = random(pd, [1], 1);
Drag options to blanks, or click blank then click option'
A1
B10
C0
D5
Attempts:
3 left
💡 Hint
Common Mistakes
Using 1 instead of 5, which generates only one sample.
Using 0 or negative numbers.
4fill in blank
hard

Fill both blanks to create a binomial distribution with 10 trials and success probability 0.3.

MATLAB
pd = makedist('Binomial', 'N', [1], 'p', [2]);
Drag options to blanks, or click blank then click option'
A10
B0.3
C5
D0.5
Attempts:
3 left
💡 Hint
Common Mistakes
Swapping N and p values.
Using invalid probability values greater than 1.
5fill in blank
hard

Fill all three blanks to create a Poisson distribution with mean 4, calculate the pdf at x=3, and generate 4 random samples.

MATLAB
pd = makedist('Poisson', 'lambda', [1]);
y = pdf(pd, [2]);
samples = random(pd, [3], 1);
Drag options to blanks, or click blank then click option'
A3
B4
D5
Attempts:
3 left
💡 Hint
Common Mistakes
Mixing up lambda and sample count.
Using wrong values for pdf evaluation.

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