there are two formulas
K1 + K2 + K3 =1 (1)
K1 > K2 > K3 (2)
I need 100 random combinations of the K1, K2 and K3
how can I do in the MATLAB

9 Comments

KSSV
KSSV on 1 Mar 2017
What is the range of K1,K2,K3? You must specify the limit and type of numbers.
Kaiser
Kaiser on 1 Mar 2017
Edited: Kaiser on 1 Mar 2017
quotient
for example, K1=0.549 K2=0.351 k3= 0.1
KSSV
KSSV on 1 Mar 2017
So you want Ki's between 0 and 1 ? They have to satisfy both the conditions?
Kaiser
Kaiser on 1 Mar 2017
yes
0<Ki's<1
They must satisfy both the conditions!
KSSV
KSSV on 1 Mar 2017
Modified my answer..
Kaiser
Kaiser on 1 Mar 2017
Edited: Kaiser on 1 Mar 2017
haha because that is true.
You are right!
Do you know how to do in Matlab?
KSSV
KSSV on 1 Mar 2017
I have answered it. Check the answer.
Kaiser
Kaiser on 1 Mar 2017
Thank you very much!
KSSV
KSSV on 1 Mar 2017
You have to accept the answer, if it is useful to you. That is thanking in mathworks.

Sign in to comment.

 Accepted Answer

KSSV
KSSV on 1 Mar 2017
Edited: KSSV on 1 Mar 2017
N = 100 ;
k = linspace(0,1,N) ;
[K1,K2,K3] = ndgrid(k,k,k) ;
thesum = K1+K2+K3 ;
idx = thesum==1 ;
K1 = K1(idx) ; K2 = K2(idx) ; K3 = K3(idx) ;
K = [K1 K2 K3] ;
idx = K1<K2 & K2<K3 ;
iwant = K(idx,:) ;

3 Comments

Kaiser
Kaiser on 1 Mar 2017
Edited: Kaiser on 1 Mar 2017
Can you tell me what is the meaning of the"idx"?
If I want to declare K1 = 0.5? Can I only change the "K1=K1(idx)" to "K1=0.5" ?
KSSV
KSSV on 1 Mar 2017
idx gives the indices of the elements in the array/ matrices satisfying given condition.
Kaiser
Kaiser on 1 Mar 2017
Edited: Kaiser on 1 Mar 2017
Okay, I see~!
second~
If I want to declare K1 = 0.5? Can I only change the "K1=K1(idx)" to "K1=0.5" ?

Sign in to comment.

More Answers (0)

Categories

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

Asked:

on 1 Mar 2017

Edited:

on 1 Mar 2017

Community Treasure Hunt

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

Start Hunting!