0
0
MatlabHow-ToBeginner ยท 3 min read

How to Use rand in MATLAB for Random Numbers

In MATLAB, use the rand function to generate random numbers between 0 and 1. You can call rand with size arguments like rand(m,n) to create an m-by-n matrix of random values.
๐Ÿ“

Syntax

The rand function generates uniformly distributed random numbers between 0 and 1.

  • r = rand: returns a single random number.
  • r = rand(n): returns an n-by-n matrix of random numbers.
  • r = rand(m,n): returns an m-by-n matrix of random numbers.
  • r = rand([m n]): also returns an m-by-n matrix.
matlab
r = rand
r2 = rand(3)
r3 = rand(2,4)
r4 = rand([2 3])
Output
r = 0.8147 r2 = 0.9058 0.1270 0.9134 0.6324 0.2785 0.5469 0.9575 0.9649 0.4218 r3 = 0.7922 0.9595 0.6557 0.0357 0.6555 0.0357 0.8491 0.9340 r4 = 0.6787 0.7577 0.7431 0.4387 0.7431 0.3922
๐Ÿ’ป

Example

This example shows how to create a 4-by-5 matrix of random numbers and calculate the mean of all values.

matlab
A = rand(4,5);
meanValue = mean(A, 'all');
disp('Random matrix A:');
disp(A);
disp(['Mean of all elements: ' num2str(meanValue)]);
Output
Random matrix A: 0.8147 0.9058 0.1270 0.9134 0.6324 0.2785 0.5469 0.9575 0.9649 0.1576 0.9706 0.9572 0.4854 0.8003 0.1419 0.4218 0.9157 0.7922 0.9595 0.6557 Mean of all elements: 0.6643
โš ๏ธ

Common Pitfalls

One common mistake is expecting rand to generate integers or numbers outside 0 to 1. rand only produces decimal numbers between 0 and 1.

To get random integers, use randi instead.

Another pitfall is forgetting to specify matrix size, which returns only one number.

matlab
wrong = rand(5); % This creates a 5x5 matrix, not integers
correct = randi([1,10],5,5); % This creates a 5x5 matrix of integers from 1 to 10
Output
wrong = 0.8147 0.9058 0.1270 0.9134 0.6324 0.2785 0.5469 0.9575 0.9649 0.1576 0.9706 0.9572 0.4854 0.8003 0.1419 0.4218 0.9157 0.7922 0.9595 0.6557 0.6555 0.0357 0.8491 0.9340 0.6787 correct = 9 3 7 6 2 1 4 5 8 9 2 7 1 3 4 6 8 9 5 7 3 1 2 4 6
๐Ÿ“Š

Quick Reference

UsageDescription
randSingle random number between 0 and 1
rand(n)n-by-n matrix of random numbers
rand(m,n)m-by-n matrix of random numbers
randi([a,b],m,n)m-by-n matrix of random integers between a and b
โœ…

Key Takeaways

Use rand to generate random decimal numbers between 0 and 1 in MATLAB.
Specify matrix size in rand(m,n) to get multiple random numbers.
rand does not generate integers; use randi for random integers.
rand([m n]) and rand(m,n) both create matrices of random numbers.
Always check the size of output to avoid unexpected single values.