Produit cartésien dans MATLAB
Ici est la version simplifiée du problème que j'ai. Supposons que j'ai un vecteur
p=[1 5 10]
et un autre
q=[.75 .85 .95].
Et je veux venir avec la matrice suivante:
res=[1, .75;1, .85; 1, .95; 5, .75; 5, .85; 5, .95; 10, .75; 10, .85; 10, .95].
Ceci est également connu comme le Produit Cartésien.
Comment puis-je le faire?
Merci beaucoup
En fait, j'ai trouvé que mathworks.com/matlabcentral/fileexchange/5898 ce truc fait exactement ce que je veux!
Vous devez, à titre de réponse, et accepter votre propre réponse à fermer la question.
Question similaire: Matlab - Générer toutes les combinaisons possibles des éléments de certains vecteurs
Vous devez, à titre de réponse, et accepter votre propre réponse à fermer la question.
Question similaire: Matlab - Générer toutes les combinaisons possibles des éléments de certains vecteurs
OriginalL'auteur emper | 2012-03-23
Vous devez vous connecter pour publier un commentaire.
Voici un moyen:
La sortie est:
result=sum(result,2)
pour se qualifier.Je ne pense pas que c'est vrai. Si vous regardez de près, le résultat de la matrice dans le cas des OP question semble être 2×9, pas 1×9. La première ligne est "1, 0.75" (notez l'espace dans "1 .75"), pas de 1,75. Ceci est encore confirmé par la lié FileExchange script qu'il dit est exactement la bonne chose. Je suis d'accord que c'est source de confusion: j'ai dû plisser les yeux pour voir ce qui se passait!
Vous êtes tout à fait correct. Je vais corriger son post pour plus de clarté.
OriginalL'auteur nibot
Une approche similaire à celle décrite par @nibot peut être trouvé dans matlab central d'échange de fichiers.
Elle généralise la solution à n'importe quel nombre de jeux. Ce serait une version simplifiée du code:
Par exemple:
OriginalL'auteur jruizaranguren