Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

how to automatically load user-defined functions in mathematica

I have a bunch of user-defined functions that are frequently used in mathematica. I wonder if I can store them in separate files and mathematica will load them on start and treat them as built-in functions, so that I don't have to repeat the definitions whenever I create a new .nb file. Something similar to functions in Matlab...

Thanks!

like image 725
gondolier Avatar asked Aug 28 '10 01:08

gondolier


1 Answers

You can create a package in $UserBaseDirectory/Autoload. This will be loaded at Kernel initialization time.

Your package should have a Kernel/init.m file

MyPackage/Kernel/init.m

Reference documentation on Mathematica packages: http://reference.wolfram.com/mathematica/tutorial/SettingUpMathematicaPackages.html

DeclarePackage[] is a lazy loading mechanism for symbols and their definitions. The associated package is loaded only when the symbol is used:

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

like image 60
Joshua Martell Avatar answered Oct 15 '22 13:10

Joshua Martell