Je veux utiliser MATLAB feval avec python

définition de fonction python

Dans MATLAB, il était bon de mettre toutes les fonctions que vous souhaitez utiliser dans la fonction à la fin, mais en python, vous devez les définir avant d'utiliser la fonction dans la fonction.

Je l'ai réécrit pour python parce que je voulais utiliser quelque chose comme paval (fonction de poignée?) Dans MATLAB. Cela a l'air moche, mais je pense que c'est utile lorsque vous voulez mettre la même variable dans différentes fonctions à plusieurs reprises.

test_function.py


fx=0
fp=10000
fL=10
fW=60
fq=20
fdip=5
fnu=0.25

def chinnery(fu,x,p,L,W,q,dip,nu):
        
    def feval(funcName, *args):
        return eval(funcName)(*args)

    u=feval(fu, fx, fp, fq, fdip, fnu)\
        - feval(fu, fx, fp-fL, fq, fdip, fnu)\
            - feval(fu, fx, fp, fq-fW, fdip, fnu)\
                + feval(fu, fx, fp-fL, fq-fW, fdip, fnu)
    return u            

          
def myfunc(a,b,c,d,e):
    dp=a+b*c+d-e
    return dp
    
def myfunc2(a,b,c,d,e):
    dp3=a*b-c*d-e 
    return dp3
    
up=chinnery('myfunc', fx, fp, fL, fW, fq, fdip, fnu)

print(up)
#output: 600.0

En changeant simplement la première variable (nom de la fonction en fonction?) De la fonction chinary, il est possible de changer uniquement la fonction tout en conservant la combinaison de plusieurs variables. Actuellement, seuls myfunc et myfunc2 sont disponibles, mais vous pouvez en augmenter autant que vous le souhaitez.


 def feval(funcName, *args):
        return eval(funcName)(*args)

Dans feval, le nom de la fonction est considéré comme la première variable et le nombre de variables après la deuxième variable est variable.

Il existe peut-être un moyen plus pratique.

Recommended Posts

Je veux utiliser MATLAB feval avec python
Je souhaite utiliser le répertoire temporaire avec Python2
Je veux déboguer avec Python
Je veux utiliser jar de python
Je veux analyser les journaux avec Python
Je veux jouer avec aws avec python
[Python] Je souhaite utiliser l'option -h avec argparse
Je souhaite utiliser un caractère générique que je souhaite décortiquer avec Python remove
Je veux faire un jeu avec Python
Je veux utiliser le solveur ceres de python
Je ne veux pas utiliser -inf avec np.log
#Unresolved Je veux compiler gobject-introspection avec Python3
Je souhaite utiliser ip vrf avec SONiC
Je veux résoudre APG4b avec Python (chapitre 2)
Je veux écrire dans un fichier avec Python
Je veux gérer l'optimisation avec python et cplex
Je voulais utiliser la bibliothèque Python de MATLAB
Je veux hériter de l'arrière avec la classe de données python
Je veux travailler avec un robot en python.
Je veux AWS Lambda avec Python sur Mac!
Je veux utiliser le jeu de données R avec python
Je veux faire fonctionner un ordinateur quantique avec Python
Python: comment utiliser async avec
Je veux faire ○○ avec les Pandas
Je veux pouvoir analyser des données avec Python (partie 3)
Je souhaite spécifier une autre version de Python avec pyvenv
Je veux pouvoir analyser des données avec Python (partie 1)
Je veux pouvoir analyser des données avec Python (partie 4)
Je veux pouvoir analyser des données avec Python (partie 2)
Je veux assister automatiquement à des cours en ligne avec Python + Selenium!
Je souhaite utiliser un environnement virtuel avec jupyter notebook!
[Python] Je souhaite utiliser uniquement l'index lors de la mise en boucle d'une liste avec une instruction for
Je veux détecter des objets avec OpenCV
Je veux écrire un blog avec Jupyter Notebook
Je voulais résoudre ABC160 avec Python
Je veux créer un environnement Python
Je veux utiliser Linux sur mac
Je veux installer Python avec PythonAnywhere
[Introduction à Python] Utilisons foreach avec Python
Je souhaite utiliser la console IPython Qt
Je voulais résoudre ABC172 avec Python
Je veux connaître la météo avec LINE bot avec Heroku + Python
Je veux résoudre APG4b avec Python (seulement 4.01 et 4.04 au chapitre 4)
Je veux sortir le début du mois prochain avec Python
Je souhaite rechercher le texte intégral avec elasticsearch + python
Je souhaite utiliser une bibliothèque externe avec IBM Cloud Functions
Je souhaite utiliser à la fois la clé et la valeur de l'itérateur Python
[Introduction] Je veux créer un robot Mastodon avec Python! 【Débutants】
Je veux vraiment utiliser GitHub Flavored Markdown (GFM) avec Pelican!
Je connais? Analyse de données à l'aide de Python ou de choses que vous souhaitez utiliser quand vous le souhaitez avec numpy
Je veux faire le test de Dunnett en Python
J'ai essayé d'utiliser lightGBM, xg boost avec Boruta
Je veux le faire avec Python lambda Django, mais je vais m'arrêter
Je veux tweeter Twitter avec Python, mais j'y suis accro
Je voulais résoudre NOMURA Contest 2020 avec Python
Je veux mémoriser, y compris les arguments de mots clés de Python