问题标签 [mathematica-8]
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.
wolfram-mathematica - 单元格的上下文路径
如何在不使用的情况下更改单元格的 $ContextPath Prepend
:
我正在查看文档,$ContextPath
并决定评估其中的第一个输入单元格。
评估前:
评估后:
我猜这里的不同之处在于,在编写此文档时,WebServices
并没有为编写它的人启用。我们可以看到这Global
是在该单元格的上下文中,因为已经明确提到了这一点。通过转到 来查看表达式Cell > Show Expression
。
该选项CellContext
设置为全局。现在,让我们创建一个新单元格并评估$Context
.
这意味着在该单元格内,我无法使用我在其他笔记本中创建的任何全局对象。我们可以通过更改单元格的 CellContext 选项来添加 Global。我们通过显示表达式和编辑来做到这一点。当您评估时,您会看到上下文已更改为全局。现在,让我们在刚刚将上下文更改为全局的单元格中尝试一下。
你有没有得到这样的东西:
为什么 Manipulate 内部的上下文会发生变化?在其他笔记本中,这不会发生。我猜它与参考样式表的设置有关,但我无法弄清楚。我们如何临时更改文档笔记本的设置,以便我们可以在整个笔记本的任何地方使用全局上下文?
memory - Mathematica 中的子内核内存控制
我有一个有点类似的问题: Mathematica running out of memory
我对这样的事情感兴趣:
哪里F[i]
是一个复杂的数值积分(我还没有找到一种简单的方法来重现这个问题,而无需对积分进行页面填充定义)。
我的问题是子内核在内存中爆炸,如果我不让机器交换,我必须停止评估。
但即使我已经停止评估,内核也不会释放它们占用的内存。
我什至试过
但
停留在
似乎所有内存控制只适用于主内核?到目前为止,唯一的方法是关闭所有内核并重新启动它们。
我真的希望有一些解决方案......非常感谢。
wolfram-mathematica - 如何在 Mathematica 中配置并行远程内核?
当我尝试通过评估>并行内核配置在mathematica中配置远程内核时...然后我转到“远程内核”并添加主机。之后,我尝试启动远程内核,但只有其中一些被启动(它们的数量不同)。我收到如下消息。
KernelObject::rdead:通过 remote[nodo2] 连接的子内核似乎已死。>> LinkConnect::linkc: 无法连接到 LinkObject[36154@192.168.1.104,49648@192.168.1.104,38,12]。>> General::stop: LinkConnect::linkc 的进一步输出将在此计算期间被抑制。>>
任何想法如何让这个工作?
考虑到它有时会加载一些远程内核,但不会加载全部。提前致谢。
这是我的输出$ConfiguredKernels // InputForm
一旦它确实加载了所有内核,但通常不加载,只加载一两个远程内核。
wolfram-mathematica - 如何在 BodePlot 上设置刻度?
我似乎无法在 Mathematica 8 中更改 BodePlot 上的刻度。
根据文档,所有 Plot 选项都可用于 BodePlot。
请注意,BodePlot 的刻度的格式提供为 2 个列表,而不是一个作为正常图的列表,因为生成了 2 个图。在上面,我试图更改第一个图(幅度图)的 x 轴刻度。
问题是:如何更改 BodePlot 上的刻度?我在上面的调用中犯了错误吗?
谢谢
编辑 1
现在使用 FrameTicks,我发现了一个非常奇怪的行为。如果我对框架右侧或顶部的任何刻度使用自动,我会在控制台中收到内核错误。这是一个例子
以上给出了控制台上的内核错误消息。奇怪的是,如果我再次运行相同的命令,我不会在控制台上再次看到错误。
将上面的内容更改为以下内容,错误就会消失:
当我使用它时,我没有收到错误:
因此,似乎在 FrameTicks 的右侧和顶部使用 Automatic 而不是 None 会导致 BodePlot 出现问题。我认为自动是在有疑问时使用的安全值,但在这种情况下不是。
wolfram-mathematica - 笔记本样式表可以改变代码行为吗?
想问问以前有没有人遇到过这样的问题。我有 8.01 版,在 Windows 7 上,64 位。SP1。
当我向我正在编写的一些代码中添加 Tooltip[] 命令时,我一直在试图找出为什么会出现 Mathematica 内核崩溃。
笔记本有 Wolfram 演示样式表(用于进行演示的示例样式表)。它是一个 Manipulate,都在一个单元格中。
当我将代码复制到具有默认样式表的新笔记本中时,崩溃就消失了!我无法在新笔记本中重现崩溃。
完全没有代码更改。只需复制整个单元格并将其粘贴到新笔记本中即可。唯一的区别是一个有演示样式表,一个是默认样式表。当我将新笔记本的类型表更改为演示时,我注意到工具提示不像以前那样工作。当我以这种风格使用示例笔记本时,当我开始使用工具提示移动鼠标时,内核崩溃。
为了确保,我做了几次。结果相同。一旦我添加了 Tooltip[],内核只会在样式表演示时立即崩溃。
我的问题:有没有人见过这样的行为?如果可以的话,我可以让这两个笔记本可用。
我得到的崩溃是:
我确实向 WRI 发送了错误报告。
我的问题是:有没有人遇到过样式表更改可以使代码表现不同的问题?为什么样式表更改会导致这样的问题?
更新1:
我能够制作一个小例子来说明问题的一部分。我正在制作另一个显示崩溃本身的小例子。但是下面这个例子就说明了问题,就是在样式表演示的时候Tooltip的工作方式不一样。首先,这是一个屏幕截图,并排,相同的代码,左边是默认样式表,右边是演示样式
(在图片下方,我粘贴了源代码,以及如何重现问题的步骤)
脚步:
- 将以上代码粘贴到新样式表中,样式默认。拖动点,当您用鼠标拖动点时,您应该会一直看到坐标显示。
- File->New->Demonstration,然后在 Manipulate 单元格中粘贴相同的代码,替换已经存在的小模板。
- 现在做同样的事情,拖动点。您将看到工具提示不会在鼠标拖动时显示。它仅在将鼠标稳定在该点上时才会显示。
动力学中有不同的行为似乎导致了这种情况,或者这种风格的其他原因。
我尝试了不同的样式表,工具提示在那里工作正常。只有使用演示样式表时,工具提示才会出现此问题。
如果有人对此有解决方案,那就太好了。因为我想在演示中使用工具提示。
我将尝试举一个导致崩溃的示例。
更新:
我已经从 WRI 技术支持那里得到了回复。这是一个样式表问题。同时,作为解决此问题的方法,来自技术支持的建议:
感谢世界资源研究所的技术支持。
2011 年 12 月 2 日更新 根据下面的 John Fultz 回答,我现在要结束这个问题。谢谢约翰。
wolfram-mathematica - 如何在 BodePlot 上使用 AbsoluteOptions?
我看到 BodePlot 的另一个问题(V 8.0 中的新功能)。我想我在这里问是否有人能看到我没有看到的东西。
我知道从诸如绘图之类的对象中提取选项的正常方法是使用AbsoluteOptions
,如下所示:
哪个返回
尝试对 BodePlot 做同样的事情,唯一的技巧是 BodePlot 默认是返回 Grid,所以必须告诉它返回绘图图像,而不是使用一个名为 的新选项PlotLayout -> "List"
,它将在一个列表中返回 2 个绘图(幅度和相位)。然后可以AbsoluteOptions
在两个图中的任何一个上使用,就像上面的例子一样。
在此示例中,我选择了两者中的第一个图,即幅度,仅用于测试,如果使用第二个图(相位),则会出现相同的错误:
到目前为止,一切都运行良好。情节很好。
现在问题来了,我想找到一个选项的值,就像我在顶部的 Plot 示例中所做的那样,所以我输入了
即使返回了正确的答案
问题是控制台上同时打印了许多内核错误:
我尝试了上面最小的示例,因此,我不知道为什么会出现上述错误。我尝试了许多其他事情,例如告诉它使用 Automatic FrameTicks
:
但我无法摆脱这些错误。我感觉 BodePlot 在某个地方有问题,但不确定,因为我自己可能做错了什么。
任何人都知道如何在 BodePlot 上使用 AbsoluteOptions 而不会出现这些错误?
谢谢
更新:
我刚刚发现了解决此问题的方法。尝试不同的东西,我发现可以使用 BodePlot 的非框架布局。默认值为 Frame->True。但是当我尝试 Frame->False 时,问题就消失了:
没有错误,现在返回实际的刻度。因此,如果有人想使用 BodePlot,可能使用 Frame->False 是一种选择。无论如何,我实际上并不喜欢原始的框架布局,并且由于在这种情况下轴的显示方式,我更喜欢标准绘图。
graph - Mathematica ListPlot 中的白色区域
当我创建并绘制此列表时:
或者,未缩放,像这样:
正如我所料,我得到了一个全彩色的正方形。
但是当我尝试这个时:
我在角落里得到一个白色的补丁。
使用 ColorFunctionScaling->False 绘图并没有摆脱
ColorFunction SandyTerrain 中没有任何白色,因此这必须是 ListDensityPlot 不在该区域绘制任何内容。
什么可能导致这种情况发生,我该如何阻止它?
wolfram-mathematica - Mathematica 中的 ScheduleTask,它对使用的时间间隔有任何限制吗?
我有点难以理解 ScheduledTask[]。这是在 V 8 中添加的。
在 Windows 7 64 位上,使用 V 8.01,当我运行以下代码时
我得到 'c' 以 51 结尾,而不是预期的 100。
当我将上面的“dt”更改为更大的值时,比如 0.02,或任何其他大于 0.02 秒的值,只有这样我每次都会得到 100。
如果我将 'dt' 设为 0.005,我最终得到 c=27。使 'dt' 为 0.0025,c 变为 18,依此类推。
因此,'dt' 限制(CPU 时间粒度)似乎是 0.02 以获得我想要的。这是 20 毫秒。
但是从其他网站,我看到 Windows 7(当然取决于硬件)可以提供比这小得多的 cpu 时钟分辨率。可能是 1-10 毫秒。
我在这里遗漏了什么,还是我误解了这个功能?
这个功能的帮助说
我无法使用 Mathematica 自己的文档找到有关此的更多信息,但我可能会忽略它。
此函数的文档是http://reference.wolfram.com/mathematica/ref/CreateScheduledTask.html
谢谢ps。完成后删除任务,命令是
或清洁一切:
我拥有的硬件是:Intel i7 CPU 930, 2.8 Ghz 4 core
wolfram-mathematica - 在 Mathematica 中导出带有纹理的图形
大家好,我在使用 Mathematica 8.0 时遇到了问题。
当我将我的 Graphics3D 导出为 3DS 或任何其他格式时,纹理总是丢失。例如,在随附的屏幕截图中,您会看到我创建了一个平面,对其进行纹理化并导出到 3DS,然后当我将其导入回来时,没有纹理。
有没有办法可以在保留纹理的同时导出?谢谢。
wolfram-mathematica - 如何用权重标记图边
警告!当 Mathematica v 8.0 是最酷的孩子时,我发布了这个问题。从 9.0.1 版本开始,该错误已得到解决
然而:
结果是:
所以,没有边缘标签......我想这是一个错误。
我使用了一个讨厌的构造,例如:
更好的想法?