Parameter Matrix

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Woodler
User
Beiträge: 2
Registriert: Montag 23. November 2020, 10:54

Hallo zusammen,

Ich möchte mit einer Funktion Daten berechnen, die Funktion bekommt vier Parameter. Das ist so weit noch recht simpel.

Mein Problem ergibt sich bei der Parameter Erstellung. Denn ich habe für jeden der vier Parament einen Array, diese sind unterschiedlich lang.
Die Funktion soll alle möglichen Kombinationen der Parament berechnen, bis auf Ausnahmen an Parameterkombination, die ich zuvor definiert habe.

Wenn ich keine Ausnahmen hätte und die Arrays gleich lang wären, würde ich mit np.meshgrid arbeiten. Dies funktioniert hier aber leider nicht.

Das Programm beinhaltet bis jetzt nur die Arrays und die Funktion.

Code: Alles auswählen

import numpy as np

def function(x, a, v, t):
    return x+x*v+0.5*a*(t**2)

x = np.array([320, 450, 630, 1000, 1275, 1600, 1800, 2000, 2500])
a = np.array([700, 910, 1150, 1440, 1590, 1630, 1675, 1800])
v = np.array([0.63, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 5.5, 6, 6.5, 7, 7.5, 8, 8.5, 9, 9.5, 10])
t = np.linspace(4,500,125)


#
#
#
# Parameter Matirx 
#
#
#


print(function (xWert,aWert,vWert,tWert)) 
Bei meiner Recherche konnte ich leider hierzu nichts finden. Vielleicht kennt hier ja jemand ein Modul, das mir weiter hilft oder hat Tipps für die Herangehensweise.

Ich bin über jede Hilfe dankbar.
Benutzeravatar
peterpy
User
Beiträge: 188
Registriert: Donnerstag 7. März 2013, 11:35

Hallo Woodler,
da sind verschachtelte for Schleifen gefragt.
In der ersten iterierst Du über die x Werte, in der zweiten über die a Werte, in der dritten über die v Werte und in der vierten über die t Werte und gibst am Schluss der vierten Schleife jedes Resultat deiner Berechnung aus.
Gruss
Peter
Sirius3
User
Beiträge: 18274
Registriert: Sonntag 21. Oktober 2012, 17:20

np.meshgrid funktioniert auch mit unterschiedlich langen Vektoren.
Ansonsten gibt es da was im Modul itertools; verschachtelte for-Schleifen werden schnell unübersichtlich.
Antworten