Hallo,
ich bearbeite derzeit meine Masterthesis und simuliere in ABAQUS Rissprobleme. Dazu muss ich demnächst eine Studie von sehr vielen verschiedenen Modellen angehen. Dazu muss ich sämtliche Kombinationsmöglichkeiten folgender Verhältnisse wissen.
a_t1 = [0.02, 0.1, 0.2, 0.4, 0.6, 0.8, 0.9] -> 7 Verältnisse
a_c = [0.1, 0.2, 0.4, 0.6, 1.0, 1.5, 2.0] -> 7 Verältnisse
t1_t2 = [0.02, 0.2, 0.5, 1.0] -> 4 erältnisse
c/W = [0.1, 0.2, 0.4, 0.6, 0.8] -> 5 erältnisse
Das sind ja dann insgesamt 7*7*4*5=980 Fälle. Wie kann ich das Problem lösen, dass mir Python die Ergebnisse als Array ausspuckt?? Ich würde dir Werte danach gerne in eine .txt Datei schreiben.
[[0.02, 0.1, 0.02, 0.1]
[0.02, 0.1, 0.02, 0.2]
[0.02, 0.1, 0.02, 0.4]
[0.02, 0.1, 0.02, 0.6]
…….etc.
Viele Grüße
Nino
Kombinatorik einer Variantenreihe
-
- User
- Beiträge: 72
- Registriert: Samstag 25. April 2020, 19:03
Danke für die Antwort EyDu Hier mein Ergebnis für mein Beispiel:
import numpy as np
a_c = [0.1, 0.2, 0.4, 0.6, 1.0, 1.5, 2.0]
a_t1 = [0.02, 0.1, 0.2, 0.4, 0.6, 0.8, 0.9]
t1_t2 = [0.02, 0.2, 0.5, 1.0]
c_W = [0.1, 0.2, 0.4, 0.6, 0.8]
new_array = np.array(np.meshgrid(a_c, a_t1, t1_t2, c_W)).T.reshape(-1,4)
print(new_array)
Grüße
Nino
import numpy as np
a_c = [0.1, 0.2, 0.4, 0.6, 1.0, 1.5, 2.0]
a_t1 = [0.02, 0.1, 0.2, 0.4, 0.6, 0.8, 0.9]
t1_t2 = [0.02, 0.2, 0.5, 1.0]
c_W = [0.1, 0.2, 0.4, 0.6, 0.8]
new_array = np.array(np.meshgrid(a_c, a_t1, t1_t2, c_W)).T.reshape(-1,4)
print(new_array)
Grüße
Nino
- DeaD_EyE
- User
- Beiträge: 1025
- Registriert: Sonntag 19. September 2010, 13:45
- Wohnort: Hagen
- Kontaktdaten:
Code: Alles auswählen
import itertools
import math
a_c = [0.1, 0.2, 0.4, 0.6, 1.0, 1.5, 2.0]
a_t1 = [0.02, 0.1, 0.2, 0.4, 0.6, 0.8, 0.9]
t1_t2 = [0.02, 0.2, 0.5, 1.0]
c_W = [0.1, 0.2, 0.4, 0.6, 0.8]
data = (a_c, a_t1, t1_t2, c_W)
product = math.prod(map(len, data))
print(product, "Kombinationen")
if input("weiter? (j/y): ").lower() in "jy":
result = list(itertools.product(*data))
sourceserver.info - sourceserver.info/wiki/ - ausgestorbener Support für HL2-Server