So erstellen Sie eine Matlab-matrix (100 x 100) mit zufälliger Verteilung der Nummern 1 und 3, bei der jede Spalte muss 10% von 1% und 90% der 3?
Wie kann ich in Matlab eine matrix (100 x 100) mit zufälliger Verteilung der Nummern 1 und 3, wenn in jeder Spalte muss ich haben 10% der Nummern 1 und 90% der Nummern 3? muss diese zufällige Verteilung.
Jemand mir helfen könnte?
Dank einer Tonne!
Du musst angemeldet sein, um einen Kommentar abzugeben.
oder ohne
for
SchleifeObwohl die erste besser sein könnte, wenn Sie wollen ausdrücklich die Kontrolle der Spalten später anders.
Edit: Tatsächlich, einen feinen Punkt. Das erste Stück code, der garantiert, dass jede Spalte genau 10 1 und exakt 90 3. das zweite Stück code doen dies nicht garantieren, nur, dass die gesamte matrix 1000 hat 1 und 9000 3 ist.
Es ist schon ein paar Jahre her, seit ich war ein Matlab-TA, aber Sie sollten auch in der Lage sein, es zu tun auf diese Weise:
Den Antworten von @ChrisA und @JosephLust geben Sie ein array, in dem jede Spalte hat genau 10 1 s und 90 ' s 3, die in einer zufälligen Reihenfolge. Das kann sein, was Sie brauchen, aber da Sie erwähnen, dass es sich um eine zufällige Verteilung, vielleicht, was Sie stattdessen wollen, ist, dass jede Spalte Einträge enthalten, haben eine chance von 10%, als 1, und eine 90% - chance, 3 (das ist nicht das gleiche).
Wenn Sie wollen, dass die letzteren, versuchen Sie dies:
Mittleren Zeile erzeugt eine 100x100 matrix, wo jeder Eintrag ist eine zufällige ganze Zahl zwischen 1 und 10. Diese wird dann verwendet, um den index in das array von Werten, von denen 1 und neun 3.