Random number vector with only two values

I want to generate 10 random numbers, but the value of these must be either 0 or pi=3.14. I have tried with randperm, randi, rand etc. but neither worked. Plz help me to resolve it.

 Réponse acceptée

Stephen23
Stephen23 le 23 Sep 2024
Modifié(e) : Stephen23 le 23 Sep 2024
Indexing is a basic MATLAB superpower. You can easily use indexing to select from a vector of any values:
V = [0,pi];
W = V(randi(numel(V),1,10))
W = 1×10
0 0 0 0 3.1416 0 0 3.1416 0 0
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>
Multiplication also works for this special case with only two values, one of which is zero:
W = pi * randi([0,1],1,10)
W = 1×10
3.1416 3.1416 0 0 3.1416 3.1416 3.1416 0 0 3.1416
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>

Plus de réponses (0)

Catégories

Community Treasure Hunt

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

Start Hunting!

Translated by