实践了一个晚上,终于把大概的思路弄明白~~~~为此还编了个模板。在Mathematica 7.0
模板如下:
BeginPackage["自定义函数名`",{"需要用到的PACKAGE(通常在AddOns可以找到)`"," `"}]
自定义函数名::usage="对函数的注释"
Begin["`Private`"]
程序段
End[]
EndPackage[]
想了想,比较空乏,给个原型吧
BeginPackage["PrimitiveQ`", "NumberTheory`"]
//这里的写NumberTheory,是因为我用到PrimePowerQ[]这个函数,而这个函数是编辑在M文件NumberTheory.m里,所以具体是什么Packages,就看你用的函数在哪个M文件里。
通常输入命令
?FactorInteger
都能找到它在哪个M文件里
PrimitiveQ::usage = "PrimitiveQ[m_]:判断正整数m是否具有原根"
Begin["`Private`"]
PrimitiveQ[m_] := Module[{n}, If[m == 1 || m == 2 || m == 4,
Return[m], If[Mod[m, 4] == 0, Return[False],
If[PrimePowerQ[m] == True, Return[m],
n = m/2; If[PrimePowerQ[n] == True, Return[m],
Return[False]]]]]; ];
End[]
EndPackage[]
注意以上均要英文输入状态。以下是从老师那里学来的后续程序:
1)单元——转换为——input
2)单元——单元属性——初始化单元组合打钩
3)特定存为——.m
4)放在目录D:\Wolfram Research\Mathematica\7.0\AddOns\Packages
关于最后一点可以个性化一点,也是我重复很多次的操作得到结论,可以先创建一个目录,例如:Fwind。
然后将你自己编好的M文件放进去,在放到AddOns目录下的任何一个目录(注意不能单放到AddOns目录下,原因还不明确)。
然后在Mathematica 7.0下调用
<<Fwind`PrimitiveQ` //PrimitiveQ是我自己编的M程序名,另外注意符号" ` "不能少!!
就可以使用自定义的M程序了
这样就可以把自己编的程序都放在一起,这里还有一个引入的机制......
LLLLLLLLLLLLLLLLLLLLLLLLLLLLL待 续LLLLLLLLLLLLLLLLLLLLLLLLLLLLL