Ich versuche im Wesentlichen herauszufinden, wie man Code für Basisvektoren verschiedener Konfigurationen von M Objekten in N verschiedenen Zuständen generiert (zum Beispiel, wenn ich 2 Snacks zwischen 2 Kindern hätte, könnte ich haben (2,0) (0,2) oder (1,1), schreckliches Beispiel, aber das ist die Idee)Generiere alle möglichen Spaltenvektoren in Matlab
Ich kämpfe, um herauszufinden, wie man das macht, ohne in viele verschiedene Schleifen zu gehen (ich will das zu sei automatisch). Die Idee wäre, eine Matrix zu erstellen, in der jede Zeile ein Vektor der Länge M ist. Ich würde mit vec (1) = N beginnen und dann eine if-Schleife, wenn sum (vec) == N, Matrix (1,:) = vec ; Dann könnte ich vec (1) = N-i nehmen und dasselbe machen.
Mein einziges Problem ist, ich sehe nicht, wie man das if verwendet und es vergessen, so dass wenn ich vielleicht 2 Objekte an 5 Standorten hätte, wie würde ich das tun (1 0 0 0 1).
Ich sehe nicht, wie das geht.
Also, für 5 Standorte und 20 Objekte, Ihre Vektoren würden '[14 0 3 2 1]' und '[2 1 3 9 5]'? – beaker
An der Börse gibt es eine Funktion namens 'combn'. Überprüfen Sie, ob es das tut, was Sie wollen. – Matt