关于Mathematica编写M程序

 

实践了一个晚上,终于把大概的思路弄明白~~~~为此还编了个模板。在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

posted @ 2012-06-18 19:44  Leonhard-E  阅读(2006)  评论(0编辑  收藏  举报