2010-08-28 4 views
8

J'ai un tas de fonctions définies par l'utilisateur qui sont fréquemment utilisées dans mathematica. Je me demande si je peux les stocker dans des fichiers séparés et mathematica les chargera au démarrage et les traitera comme des fonctions intégrées, de sorte que je n'ai pas à répéter les définitions chaque fois que je crée un nouveau fichier .nb. Quelque chose de similaire à des fonctions dans Matlab ...comment charger automatiquement des fonctions définies par l'utilisateur dans mathematica

Merci!

Répondre

13

Vous pouvez créer un package dans $ UserBaseDirectory/Autoload. Ceci sera chargé au moment de l'initialisation du noyau.

Votre package doit avoir un fichier kernel/init.m

MyPackage/kernel/init.m

documentation de référence sur les emballages Mathematica: http://reference.wolfram.com/mathematica/tutorial/SettingUpMathematicaPackages.html

DeclarePackage[] est un paresseux mécanisme de chargement pour les symboles et leurs définitions. Le paquet associé est chargé uniquement lorsque le symbole est utilisé:

http://reference.wolfram.com/mathematica/ref/DeclarePackage.html

+0

Salut Joshua, nous avons une proposition de [site Mathematica séparé] (http://area51.stackexchange.com/proposals/37304/mathematica ? referrer = hWeRiD9Qz0oIDM_9uBjtlA2) sous le réseau SE, pour tout ce qui concerne le mma (pas seulement la programmation de questions comme SO). Nous sommes très proches du lancement (24 utilisateurs restants) et ce serait génial si vous pouviez vous engager dans cette proposition :) – abcd