Generate random numbers with a constraint

I want to generate several numbers that meet a constraint. The constraint may be kind of complex, nonlinearity for example.
It occurs to me that there are also constraint input in the optimization toolbox. In some intelligent algorithm like ga, i guess the toolbox can generate input parameters according to the constraint. I want to know how it works and implement this function in my own script.

3 Comments

What are the constraints?
It doesn't matter what the constraint is, I just want to know how to solve this kind of problem.
Indeed, there are some tricks for some certain simple constraints, which are not my expectations.
It does matter what the contstraints are if you want an efficient implementation.

Sign in to comment.

 Accepted Answer

A general answer to your general question is inverse transform sampling, which makes it possible to generate sample random data from any probability distribution.

6 Comments

Thanks, but what I want is not distribution, but specific constraints of equations and inequalities.
This is, I believe, just a problem of reformulating your constraints into a specific probability distrbution definition. Can you give an example of what you need?
I want to generate two vectors, v and t, which both have 5 elements with . should be integer and .
OK, I see, this is fairly simple. Your condition translates into a problem with 9 segrees of freedom, so in fact you can choose 9 of the 10 numbers arbitrarily (or random, if you like) and solution of your equation will provide the value of the 10th number...
OK, thanks. But I think this method is not general. What if there are other inequalities in the problem?
Jiri Hajek
Jiri Hajek on 11 Oct 2022
Edited: Jiri Hajek on 11 Oct 2022
Well, it seems that if you still have some concerns, than your problem statement was probably not complete... There's really no problem to e.g. generate random numbers that are integer and positive or e.g. random numbers constrained by a nonlinear inequality (like coodrinates from an area constrained by some curve). Here I agree with Rik that you can get an answer only to a properly defined question.

Sign in to comment.

More Answers (0)

Categories

Find more on Random Number Generation in Help Center and File Exchange

Products

Asked:

on 11 Oct 2022

Edited:

on 11 Oct 2022

Community Treasure Hunt

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

Start Hunting!