为了账号安全,请及时绑定邮箱和手机立即绑定

你的数学工具箱里有什么?

你的数学工具箱里有什么?

你的数学工具箱里有什么?我们都知道Mathematica很棒,但它也经常缺乏关键的功能。你使用什么外部软件包/工具/资源?我将编辑(并邀请其他人也这么做)这个主要的帖子,包括资源,这些资源集中在科学研究的一般适用性上,而且尽可能多的人会发现这些资源是有用的。可以随意贡献任何东西,即使是小的代码片段(就像我下面为定时例程所做的那样)。此外,数学7和更高版本的无文档和有用的特性,你发现自己,或从一些纸/网站挖掘,是最受欢迎的。请包括一个简短的描述或评论,为什么某件事是伟大的,或它提供了什么效用。如果你链接到亚马逊上的书籍与会员链接,请提到它,例如,通过将你的名字放在链接后面。一揽子:LevelScheme是一个软件包,它极大地扩展了Mathematica制作好看的图形的能力。我使用它,如果没有其他任何东西,那么,大大改进的控制框架/轴的滴答。它的最新版本叫做SciD劳,它将在今年的某个时候发布。大卫·帕克Presentation Package(50美元-更新不收费)迈克尔逊grassmannOpsPackage为使用具有非平凡交换关系的Grassmann变量和运算符进行代数和微积分提供了资源。约翰·布朗GrassmannAlgebra用于处理Grassmann和Clifford代数的软件包和书籍。符号计算研究所有各种可供下载的Mathematica软件包(和其他语言)。特别是定理用于自动定理证明,以及大量用于符号求和、差分方程等的软件包。在算法组合组的软件页面.工具:MASH丹尼尔·里维斯很棒吗Perl脚本本质上提供了对Mathematicav7的脚本支持。(现在内置于Mathatica 8中,并带有-script)阿alternate Mathematica shell使用GNUreadline输入(只使用python,*nix)ColourMaths包允许您直观地选择表达式的部分并对它们进行操作。网址:http:/www.dbaileyConsulancy.co.uk/color_maths.html资源:Wolfram自己的存储库MathSource有很多有用的,如果狭窄的笔记本适用于各种应用。还可以查看其他部分,如Current Documentation,Courseware为了讲课,和Demos为了演示。这个数学维基本.书籍:数学编程:高级入门列昂尼德·希夫林(web, pdf如果你想做更多的事情,必须阅读为数学循环。我们很高兴Leonid他自己在这里回答问题。用Mathematica的量子方法作者James F.Feagin(亚马逊)数学书斯蒂芬·沃尔夫拉姆(Stephen Wolfram)亚马逊) (web)舍姆轮廓 (亚马逊)Mathatica在行动中斯坦货车(亚马逊)-600页简洁的例子,并上升到MathematicaVersion 7。可视化技术特别好,您可以在作者的Demonstrations Page.Mathematica编程基础理查德·盖洛德(Richard GayLord)pdf)-很好地简要地介绍了你需要了解的关于Mathematica编程的大部分内容。数学烹饪由萨尔曼加诺出版,O‘Reilly,2010年832页。-用著名的O‘Reilly Cookbook风格写成:问题解决方案。中间产物。数学微分方程,第三版。Elsevier 2004阿姆斯特丹由MarthaL.Abell,JamesP.Braselton-893页为初学者,学习解决DES和数学在同一时间。无文件(或几乎没有记录)特性:如何自定义Mathematica键盘快捷键。看见this question.如何检查Mathematica自己的函数所使用的模式和函数。看见this answer如何在Mathematica中实现图形Plot的一致大小?看见this question.如何用Mathematica制作文档和演示文稿。看见this question.
查看完整描述

3 回答

?
慕慕森

TA贡献1856条经验 获得超17个赞

ToddGayley(WolframResearch)给我发了一个很好的黑客,允许用任意代码“包装”内置函数。我觉得我必须分享这个有用的工具。下面是托德对我的回答question.

有点有趣(?)历史:在1994年左右,Robby Villegas和我发明了一种“包装”内置函数的方式,具有讽刺意味的是,在函数信息中,我用了一个名为ErrorHelp的包,我当时为Mathematica杂志写了这个包。自那时以来,它已被许多人多次使用。这是一种内部技巧,但我认为可以公平地说,它已经成为将您自己的代码注入到内置函数定义中的典型方法。工作做得很好。当然,您可以将$inMsg变量放入任何您希望的私有上下文中。

Unprotect[Message];Message[args___] := Block[{$inMsg = True, result},
   "some code here";
   result = Message[args];
   "some code here";
   result] /; ! TrueQ[$inMsg]Protect[Message];


查看完整回答
反对 回复 2019-06-12
  • 3 回答
  • 0 关注
  • 733 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信