2017-10-13 4 views
0

J'essaie de trouver la valeur de 3 variables qui satisfont une condition, à savoir que leur somme soit inférieure ou égale à 1. Mon approche consiste à utiliser ndgrid pour balayer toutes les combinaisons de variables et définir une matrice I qui contient un 1 si la condition est satisfaite. Mon code est ci-dessousRetour d'indices de variables dans une matrice tridimensionnelle satisfaisant une condition

ss=0.25; 
[pp1,pp2,pp3] = ndgrid(0:ss:1,0:ss:1,0:ss:1); 
I = pp1+pp2+pp3<=1 

Ma question est, comment puis-je générer une liste de toutes les combinaisons de variables valides? Je souhaite avoir un 3 x n vecteur p qui contient toutes les valeurs n valides pour pp1, pp2 et pp3.

Répondre

0

J'ai trouvé une solution que je posterai comme réponse. C'est simplement

p = [pp1(I) pp2(I) pp3(I)] 

Si quelqu'un a une meilleure solution j'apprécierais tous les commentaires.