问题标签 [wolfram-mathematica]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2447 浏览

wolfram-mathematica - Mathematica 减值 Lhs

有谁知道 Mathematica 中是否有一个内置函数来获取降值规则的 lhs(没有任何持有)?我知道如何编写代码来做到这一点,但对于内置

例如:

BuiltInIDoNotKnowOf[a]返回{1,2}

0 投票
6 回答
12566 浏览

command-line - 从命令行调用 Mathematica 程序,使用命令行参数、标准输入、标准输出和标准错误

如果您在 foo.m 中有 Mathematica 代码,则可以使用-noprompt-initfile foo.m (or -run "<<foo.m") 调用 Mathematica,并且可以使用命令行参数$CommandLine(其中包含额外的垃圾),但是有没有办法只使用一些 mathematica 代码,例如

和 chmod 它可执行并运行它?换句话说,如何像使用任何其他脚本语言(Perl、Python、Ruby 等)一样使用 Mathematica?

0 投票
7 回答
18849 浏览

loops - Mathematica 中的 ForEach 循环

我想要这样的东西:

或者,更一般地,解构您正在循环的列表中的任意内容,例如:

通常,您希望使用Map或其他纯函数式构造,并避免使用副作用的非函数式编程风格。但这里有一个例子,我认为 for-each 结构非常有用:

假设我有一个将符号与表达式配对的选项(规则)列表,例如

现在我想制作一个哈希表,在其中将这些符号明显映射到这些数字。我认为没有比这更清洁的方法了

额外的测试用例

在这个例子中,我们转换了一个变量列表:

在上述之后,{a,b,c}应评估为{f[1],f[2],f[3]}。请注意,这意味着each如果它是一个列表,则它的第二个参数应该不被评估。

如果未计算的形式不是列表,它应该计算第二个参数。例如:

那应该打印 和 的bc

附录:为了正确地做for-each,它应该支持Break[]Continue[]。我不确定如何实现。也许它需要以某种方式用 For、While 或 Do 来实现,因为这些是唯一支持Break[]and的循环结构Continue[]

到目前为止,答案的另一个问题是:他们吃Return[]s。也就是说,如果您在函数中使用 ForEach 循环并希望从循环内从函数返回,则不能。在 ForEach 循环内发出 Return 似乎像Continue[]. 这只是(等待它)让我陷入了循环。

0 投票
2 回答
4143 浏览

image-processing - 在没有 X11 的机器上将绘图导出为 Mathematica 中的图像(即,不涉及前端)

考虑以下带有内核命令行界面的对话框:

这在具有以下错误的机器上运行良好,但在具有以下错误$Version = 6.0 for Linux x86 (32-bit) (June 2, 2008)的机器上失败:$Version = 7.0 for Linux x86 (64-bit) (November 11, 2008)

我能想到的任何其他图像格式都有类似的错误。

所以问题是,我怎样才能让没有前端的 Mathematica 内核导出图像?为什么它可以在 Mathematica 6.0 中顺利运行?如果上面的示例在版本 7 中适用于您,请告诉我!

PS:版本 7 引入了该功能UsingFrontEnd,但失败了

大概是因为机器上没有安装X11。

附录

事实证明,在这方面,版本 6 和版本 7 没有区别。相反,在版本 6 的机器上,前端被静默调用。另一台机器的问题,正如这个问题的答案所表明的那样,是没有 X 服务器,因此无法调用前端。

0 投票
2 回答
5774 浏览

math - 由空间中两点之间的弧长参数化的螺旋方程

由空间中任意两点之间的弧长(即弧长的函数)参数化的螺旋方程是什么?有什么功能吗?我如何使用 matlab 或 mathematica 实现相同的功能?

0 投票
11 回答
11287 浏览

computer-science - 抽象代数和编程

我要开始学习抽象代数——群、环等。我有兴趣了解任何编程语言,如果有的话可以帮助我学习/尝试我在理论上学到的概念。

编辑:我并没有真正考虑实施我学到的东西。我很想知道任何已经支持它们的语言。

0 投票
4 回答
876 浏览

regex - Mathematica StringReplace 替换包含换行符的子字符串

我在字符串中有如下内容:

我想这样做(perl 语法): s/BEGINIGNORE.*ENDIGNORE//s - 即去掉BEGINIGNORE 和ENDIGNORE 之间的所有内容,包括在内。您会认为以下内容会在 Mathematica 中执行此操作:

但事实并非如此。我如何在 Mathematica 中做到这一点?

PS:我定义了以下别名: re = RegularExpression;

0 投票
5 回答
833 浏览

wolfram-mathematica - FactorInteger 的替代形式?(数学)

在数学中

分配

到一个。现在,我希望扩展每个列表,而不是带有指数的因子。上面的分解将变成

我写了以下函数:

但如果你问我,它看起来很丑。肯定必须有一种更简洁的方法来实现这一目标吗?

0 投票
2 回答
2086 浏览

java - Mathematica 的“禁用动态”对话框杀死了 Java

我将 Mathematica 与 JLink 一起用于一个涉及大量计算的研究项目。Mathematica 用作输入参数和绘制结果的图形前端。实际算法位于通过 JLink 调用的 Java 类中。

“链接”是一个名为 evalFrontend 的实例。在按下按钮时,会执行如下操作:

如果计算需要超过 10 秒,则会显示一个对话框:

Abort Dynamic:内核不响应动态评估。您可以选择中止并重新启动内核或继续等待。[..]

显示此内容时,Java 仍在运行。但是,再过一段时间,会显示另一个对话框:

禁用动态:一个或多个动态对象需要很长时间才能完成评估。您可以禁用进一步的动态评估或继续等待[...]

当这出现时,Java 进程被终止。

我怎样才能防止这种情况发生?任何提示将不胜感激。

0 投票
3 回答
1003 浏览

wolfram-mathematica - 在 Mathematica 中设置环境变量

我需要从 Mathematica 笔记本设置环境变量。

给出变量的值。但是也可以设置变量吗?