How to plot a random line in between 0 and a random variable?

3 visualizzazioni (ultimi 30 giorni)
I am currently learning how to use Matlab, this is what I have so far.
clc; clear;
V = randi([1 12]);
t = linspace(0,100,100);
y = V*sin(8*pi*t);
plot(t,y);
xlim([0 100]);
ylim([-14 14]);
V_sat = % I am trying to have this equal a random number between 0 and V
yLineP = V_sat;
yLineN = V_sat * -1;
yline(yLineP);
yline(yLineN);

Risposta accettata

Dyuman Joshi
Dyuman Joshi il 19 Set 2023
I assume you want to you don't just want integers, otherwise you would have used randi for that.
V = randi([1 12])
V = 5
t = linspace(0,100,100);
y = V*sin(8*pi*t);
plot(t,y);
xlim([0 100]);
ylim([-14 14]);
%rand returns a random scalar drawn from the uniform distribution in the interval (0,1).
V_sat = V*rand % I am trying to have this equal a random number between 0 and V
V_sat = 1.5908
yLineP = V_sat;
yLineN = V_sat * -1;
yline(yLineP);
yline(yLineN);
  3 Commenti
Walter Roberson
Walter Roberson il 19 Set 2023
V_sat = V*rand % I am trying to have this equal a random number between 0 and V
Note by the way, that unless V happens to be exactly 0, that V*rand will never exactly equal 0, and will never exactly equal V .
In the default mode, rand() should be understood to be effectively randi([1 2^53-1])/2^53 where the range of random integers excludes 0 and excludes 2^53 exactly, so rand() can never return exactly 0 and can never return exactly 1.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Creating and Concatenating Matrices in Help Center e File Exchange

Prodotti


Release

R2023a

Community Treasure Hunt

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

Start Hunting!

Translated by