小编nil*_*ock的帖子

Mathematica中的树数据结构

我主要使用mathematica作为数学工作台,并编写相对较小的ad-hoc程序.然而,我正在设计一个我打算在Mathematica中编程的系统.我需要将数据存储在树中,并搜索和遍历树.虽然我知道如何实现树,但我更喜欢标准的,经过测试的代码.我在Mathematica用户维基上查看了基本数据结构的类型.我没有找到,尽管Mathematica文档中有一个小例子.

现在问我的问题:

  1. 是否有可用的数据结构(开源)包?

  2. 您在数据结构方面使用了什么方法?逐步开发自己的util包?

(这不是一个问题,只是一个评论.也许......缺乏(大量可用的)开源软件包是Mathematica没有应有的动力的原因.我害怕鸡/蛋问题.)

wolfram-mathematica

39
推荐指数
2
解决办法
9412
查看次数

Mathematica模块与With或Block - 指南,使用的经验法则?

Leonid在他的书第四章中写道:"......模块,块和With.这些结构在Mathematica Book和Mathematica Help中有详细解释,所以我在这里只会说几句......."

从我所读到的(能够找到)我仍然在黑暗中.对于打包的函数我(简单地)使用Module,因为它可以工作,我知道构造.但它可能不是最好的选择.我(从文档中)不清楚何时,何地或为何使用With(或Block).

题.是否有关于何时使用Module,With或Block(对于包中的功能)的经验法则/指南?与Module相比有限制吗?文档说With更快.我希望能够为我的= choice = for Module(或其他构造)辩护.

wolfram-mathematica

37
推荐指数
4
解决办法
8233
查看次数

如何从几个Graphics3D对象中选择一个并在Mathematica中更改其坐标?

在接受的问题" Mathematica和MouseListener - 用Mma开发交互式图形 "中,Sjoerd C de Vries演示了可以在3D图形中选择一个对象并改变其颜色.

我想知道是否有可能(以类似的方式)Graphics3D用两个或多个物体(例如两个长方体)来选择一个并改变它的坐标(通过移动或其他方式)?

wolfram-mathematica

17
推荐指数
1
解决办法
533
查看次数

在Mathematica中测试Null而不是Null

在Mathematica中测试值是否为Null的最佳/最干净/可取的方法是什么?而不是空的?

例如:

 a = Null
 b = 0;
 f[n_] := If[n == Null, 1, 2]
 f[a]
 f[b]
Run Code Online (Sandbox Code Playgroud)

得到的结果是:

 1
 If[0 == Null, 1, 2]
Run Code Online (Sandbox Code Playgroud)

我希望f [b]的2.

wolfram-mathematica

12
推荐指数
2
解决办法
5754
查看次数

如何测试列表是否包含Mathematica中的连续整数?

我想测试列表是否包含连续的整数.

 consQ[a_] := Module[
  {ret = True}, 
  Do[If[i > 1 && a[[i]] != a[[i - 1]] + 1, ret = False; Break[]], {i, 
  1, Length[a]}]; ret]
Run Code Online (Sandbox Code Playgroud)

尽管函数consQ完成了这项工作,但我想知道是否有更好(更短,更快)的方法,最好使用函数式编程风格.

编辑: 上面的函数将连续整数的列表以递减顺序映射到False.我想将此更改为True.

wolfram-mathematica

11
推荐指数
7
解决办法
2317
查看次数

如何在初始开发期间使用Clojure库的本地存储库?

我有一个关于开发Clojure库的问题,这在图书馆开发和分发的建议工作流程中没有得到解答,如下所述:http://clojure-doc.org/articles/ecosystem/libraries_authoring.html

我正在开发一个库,并希望在一个clojure项目中测试它.在这个项目中,我将不得不将开发中的库添加为依赖项.是否有"lein deploy clojars"的替代方案,它将我的库部署到本地存储库?如果是这样,我将如何设置:测试项目中的依赖关系?请注意,我将在项目中使用clojars中的库,我用它来测试正在开发的库.

那么我应该在开发中将Clojure库部署到本地存储库,以便它可以被alpha测试库的项目使用.测试项目应如何解决这个问题.我想知道这是如何影响1)库开发项目的project.clj文件和2)在开发中测试库的项目的project.clj文件.

clojure leiningen

11
推荐指数
2
解决办法
4122
查看次数

如何动态生成mathematica代码?

我想在mma中制作一个迷你编程语言.从文本文件到包中的模块.理想情况下,我应该能够通过另一个包中的函数从Mathematica中生成包和模块.

问题:这可能吗?我正在寻找一个参考或一个例子来启动它.

编辑:例如:

想象一下具有n个整数类型寄存器的存储体.

说明是:

1 Z(n)

2 C(m,n)

3 J(m,n,q)

4 S(n)

每行都有一个地址.第一行1,第二行2等.Z(n)在寄存器n中存储0.寄存器n中的寄存器m的C(m,n)存储值.J(m,n,q)如果值寄存器m等于寄存器n的值则跳转到地址q的行.S(n)将n加1到寄存器n中的值.

然后给出两个工作程序P和QI想要生成连接程序P + Q.

然后给出两个工作程序P和QI想要在P之后生成替换Q.

最后,我想开始尝试递归...这个'迷你项目'的目的.

wolfram-mathematica

10
推荐指数
1
解决办法
1541
查看次数

将未评估的函数存储在mathematica列表中

例:

list:={ Plus[1,1], Times[2,3] }
Run Code Online (Sandbox Code Playgroud)

看着list,我明白了

{2,6}
Run Code Online (Sandbox Code Playgroud)

我想让他们不受评估(如上所述)以便list返回

{ Plus[1,1], Times[2,3] }
Run Code Online (Sandbox Code Playgroud)

后来我想评估列表序列中的函数来获取

{2,6}
Run Code Online (Sandbox Code Playgroud)

未评估的函数的数量list事先是未知的.此外Plus,f[x_]可以存储用户定义的功能list

我希望这个例子很清楚.

做这个的最好方式是什么?

wolfram-mathematica

10
推荐指数
3
解决办法
884
查看次数

如何在Windows 7上启动具有管理员权限的Java jar

我正在使用Windows 7上的ANTLRWorks开发语法.除非ANTLRWorks具有管理员权限,否则ANTLRWorks调试器无法启动.ANTLRWorks作为一个Java .jar提供,它通过双击文件开始.

问题:如何确保.jar文件以管理员权限运行?

java windows-7

10
推荐指数
2
解决办法
2万
查看次数

如何用PhantomJS替换Chrome以与Selenium和Conductor一起使用?

我成功地使用Conductor框架从网站上抓取数据.我使用Chrome浏览器,因此我在项目的根目录中安装了chromedriver.exe.

为了加快速度,我想用无头的PhantomJS浏览器取代Chrome.我按照Stackoverflow问题的答案安装了PhantomJS:PhantomJS和Conductor Framework,并将浏览器更改为@Config中的Browser.PHANTOMJS.

无论我做什么,我都没有结果.

我没有找到如何设置PhantomJS与Selenium或PhantomJS一起使用的文档.

如何使用PhantomJS实现Selenium WebDriver的问题,我们可以将Sikuli与PhantomJS一起使用吗?也没有帮助.

如何用PhantomJS替换Chrome以与Selenium和Conductor一起使用?

selenium phantomjs selenium-webdriver conductor-framework

10
推荐指数
1
解决办法
810
查看次数