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.

 Akzeptierte Antwort

Stephen23
Stephen23 am 23 Sep. 2024
Bearbeitet: Stephen23 am 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>

Weitere Antworten (0)

Kategorien

Gefragt:

am 23 Sep. 2024

Kommentiert:

am 23 Sep. 2024

Community Treasure Hunt

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

Start Hunting!

Translated by