Constraining a variable value
Ältere Kommentare anzeigen
I am constraining constants for the dynamics of an autonomous system that I am simulating. Within a for loop of 100 iterations, I would like to give "a" a random value greater than zero, "b" a random value greater than 1/a, and "c" a random value greater than 0.5. I have an idea for the code of "a" but I am confused on how to constrain "b" and "c" so that they are random values specifically greater than 1/a and 0.5. Here is what I have for my code right now:
AS= rand(1, 200)*1000;
for ii = 1:100
a = AS(ii);
b=1/a;
c=???
end
Any suggestions on this issue are greatly appreciated. Thank you.
5 Kommentare
Steven Lord
am 27 Sep. 2021
You've told us the lower limits for the values the variables can take on, but what are the upper limits? Is it 1, Inf, a function of one of the other variables like b's lower limit is a function of a, etc.?
Also what distribution do you want to draw the values from?
Matthew Tortorella
am 27 Sep. 2021
Image Analyst
am 28 Sep. 2021
@Matthew Tortorella, are you ever going to try my suggestion below?
Matthew Tortorella
am 28 Sep. 2021
Matthew Tortorella
am 28 Sep. 2021
Antworten (1)
Image Analyst
am 27 Sep. 2021
Bearbeitet: Image Analyst
am 27 Sep. 2021
b = 1/a;
b = max([b, 0.5]); % Make sure b is > 0.5
c = a + (b-a) * rand;
c = max([c, 0.5]); % Make sure c is > 0.5
Kategorien
Mehr zu Creating and Concatenating Matrices finden Sie in Hilfe-Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!