0

J'ai une fonction d'auto-défini dans Mathematica, qui a la syntaxe suivante:itérer sur toutes les combinaisons possibles de variables d'entrée dans Mathematica

outputval = myfunc[r, sigma, S, K, T, lambda, eta1, eta2, p] 

Lorsque la fonction est appelée comme ci-dessus avec des valeurs d'entrée numériques, il sorties une seule valeur de sortie.

Pour chaque variable d'entrée j'ai 5 valeurs différentes. Je veux entrer toutes les combinaisons des 5 valeurs des 9 variables d'entrée dans ma fonction et exporter un fichier CSV contenant les 9 valeurs d'entrée et leur valeur de sortie respective dans la 10ème colonne. Je suis très nouveau à Mathematica et je n'ai aucune idée de comment faire ainsi. Toute aide est appréciée :)

Répondre

1

Un petit exemple illustre comment obtenir ce que vous voulez:

xvals = {1, 2} 
yvals = {3, 4} 
{Sequence @@ #, f @@ #} & /@ Tuples[{xvals, yvals}] 

Avertissement: 5^9 == 1953125. Donc, vous pouvez utiliser une boucle Do et écrire directement dans un fichier au lieu de créer ces listes. Pour illustrer:

fmt = StringTemplate["``,``,``"]; 
Do[Print[fmt[x, y, f[x, y]]], {x, xvals}, {y, yvals}] 

Vous voulez remplacer Print avec WriteLine.