Dies könnte eine offensichtliche Frage für einige sein, aber ich bin ein Anfänger Coder und würde mich über Links oder Ratschläge freuen, die ich bekommen kann.Ereignis mehrere Rechner/Generator? - MatLab
Ich versuche, einen Code zu erstellen, um eine Matrix mit Werten basierend auf der Anzahl der möglichen auftretenden Ereignisse zu generieren.
Ich betrachte jedes Endmitglied Ich habe ein unabhängiges Ereignis (dies wird auf ein End-Member-Mixing-Szenario in der Chemie angewendet). Jedes dieser Ereignisse kann auf zwei verschiedene Arten auftreten (der Wert kann negativ oder positiv sein). Ich versuche auch, diesen Code für eine beliebige Anzahl unabhängiger Ereignisse nutzbar zu machen. Ich denke, diese Matrix wird sein, ncol = die Anzahl der unabhängigen Ereignisse, und nrows = die Anzahl der Ereignis-Vielfachen.
Zum Beispiel: Wenn ich 3 unabhängige Ereignisse (3 Spalten in der Matrix) mit jeweils 2 möglichen Vorkommen (positiv oder negativ) habe, dann gibt es 8 Ereignis-Vielfache oder Kombinationen (8 Zeilen in der Matrix).
Für jede Kombination (Zeile) möchte ich automatisch die Ergebnisse generieren, wenn ich nur "1" verwende, um anzuzeigen, dass der Wert positiv ist und "-1", um anzuzeigen, dass der Wert negativ ist. Die Reihenfolge der Zeilenkombinationen sollte keine Rolle spielen.
Leider verwende ich MatLab R2015a, aber ich dachte, eine ähnliche Funktion zu dem, was ich frage, heißt "combnk" oder "combntns" in MatLab R2016a.
% Beginning of code:
NoIndEvents = 3; % Number of independent events
NoOccur = 2; % Number of occurrences for each ind. event
newmatrix = ones(NoOccur^NoIndEvents,NoIndEvents); % Initialize matrix
% Have no idea how to generate this part...
% My desired output (no hard coding & easily modified for any
% number of columns/ ind. events)
newmatrix =
1 1 1
-1 -1 -1
1 1 -1
1 -1 1
-1 1 1
-1 -1 1
-1 1 -1
1 -1 1
Kennt jemand eine Funktion, die ich dafür verwenden kann? Ich habe das Gefühl, das könnte super einfach sein und ich kann mich einfach nicht mit dem Code auseinandersetzen ...
Vielen Dank im Voraus! ~ Sydney
Vielen Dank !! Ich habe auch den combinator.m beim Dateiaustausch gefunden, der auch nützlich zu sein scheint! – Syd26S