问题标签 [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.

0 投票
1 回答
253 浏览

wolfram-mathematica - 写在下面的键盘快捷键

在 Mathematica 7 中它曾经是Ctrl+ =,但在 Mathematica 8 中,这个快捷方式不是写在下面,而是开始自由格式输入。tutorial/KeyboardShortcutListing 中的文档尚未更新。下面哪个快捷方式现在用于书写?

0 投票
2 回答
1382 浏览

graphics - Graph[] 切断 Mathematica 中的顶点标签

Graph[]在 Mathematica 中倾向于切断顶点标签。我正在寻找一个强大的解决方法。

例子:

Graph[] 切断标签“2”

我目前的解决方法:

这并不稳健,因为ImagePadding需要根据标签大小手动调整 的值。

0 投票
3 回答
318 浏览

wolfram-mathematica - 防止在 Mathematica 8 中自动布局 Graph[] 对象

某些类型的对象在 Mathematica 中具有特殊的输入/输出格式。这包括Graphics光栅图像,以及从 Mathematica 8 开始的图形 ( Graph[])。不幸的是,大图可能需要很长时间才能可视化,比我在交互工作期间对它们执行的大多数其他操作要长得多。

如何防止Graph[]StandardForm 和 TraditionalForm 中的对象自动布局,并将它们显示为例如-Graph-,最好保留输出的可解释性(可能使用Interpretation?)。我认为这将涉及更改Format和/或MakeBoxes以某种方式进行更改,但我未能成功使其发挥作用。

我想以可逆的方式执行此操作,并且最好定义一个函数,该函数将在应用于Graph对象时返回原始交互式图形显示(与 不同GraphPlot,它不是交互式的)。

在相关说明中,有没有办法检索与某些符号关联的格式/MakeBoxes 定义? FormatValues是一个相关的功能,但它是空的Graph

示例会话:

0 投票
1 回答
381 浏览

wolfram-mathematica - mma8 中 Integrate 与 NIntegrate 中的错误

这里发生了什么(Mathematica 版本 8.x):

NIntegrate[]值是正确的。我之前遇到过PrincipalValue选择问题,但是 a) 这些已在 mma8 中修复,b) 此积分在积分区域中没有或至少不应该有极点。

编辑:感谢人们提出解决此问题的方法,一般的解决方案是,例如,仅使用NIntegrate. 但是,我有兴趣找出为什么会发生这种情况,以及这个错误是否是可预测的。

0 投票
2 回答
504 浏览

wolfram-mathematica - Mathematica 8 中的函数声明问题

这是一个奇怪的结果,在这个例子中定义为“functionB”的函数。有人可以解释一下吗?我想绘制functionB[x]functionB[Sqrt[x]],它们必须不同,但是这段代码显示functionB[x] = functionB[Sqrt[x]],这是不可能的。

functionB[x]必须不同于functionB[Sqrt[x]],但在这种情况下,两行是相同的(这是不正确的)。

0 投票
3 回答
1240 浏览

wolfram-mathematica - Mathematica 8 中具有等式约束的函数最小化

在 Mathematica 8 中使用简单相等的约束时,最小化不起作用。例如

在 Mathematica 6 中工作正常,但在版本 8 中出现错误。其他人可以确认(或解释)这一点吗?看起来用约束来修复其中一个参数会混淆版本 8。放置xy==1是可以的,任何不等式也是可以的。

有什么简单的解决方法吗?我已经尝试更改Method,没有运气。我想将所有参数保留在参数列表中,但使用简单的约束保留其中一些参数,而不是从列表中删除参数名称。我在版本 6 中有一个工作代码,在 8 中不再工作。

0 投票
2 回答
9112 浏览

wolfram-mathematica - 如何生成 Manipulate 的动画 GIF?8.0.1

导出为动画 gif 似乎在 Mathematica 8.0.1 中发生了变化?

我通常通过简单地编写来制作操纵的动画 GIF:

但现在它不起作用。我只得到一张静态图像。

这是一个例子:

现在Export["foo.gif",v]只生成静态图像,因为没有运行。

但是Export["foo.avi",v]有效,它确实会生成一个正在运行的 avi 电影。

另外,我以前使用过动画 GIF 选项,但现在不支持了:

当我去帮忙时,我在那里看不到 GIF 的选项。如何控制动画延迟等?

我想这里有人可能有想法。

谢谢——纳赛尔

0 投票
1 回答
1512 浏览

cuda - Mathematica 和 CUDA

安装 Mathematica 的 CUDA 模块后, Mathematica 中的内置函数(如Minimize[expr,{x1,x2,...}])是否有可能开始通过 CUDA 工作?

0 投票
1 回答
930 浏览

wolfram-mathematica - 在 Mathematica 中定义一个线性时间延迟系统并绘制它的 Bode 和 Nyquist 图

我有一个时间延迟系统的特征方程,我无法在MathematicaStateSpaceModel中使用或TransferFunctionModel命令定义它;因为这些命令只适用于线性系统,没有延迟。

我的目的是在Mathematica 8.0.1中定义一个延时系统,并为这样的系统绘制波特奈奎斯特

0 投票
1 回答
553 浏览

indexing - Mathematica 中的 CUDAFunctionLoad - 索引问题

我正在尝试调试我在 CUDA 机器上遇到的索引问题

{1->{Name->Tesla C2050,时钟频率->1147000,Compute Capabilities->2.,GPU Overlap->1,最大块尺寸->{1024,1024,64},最大网格尺寸->{65535 ,65535,65535},Maximum Threads Per Block->1024,Maximum Shared Memory Per Block->49152,Total Constant Memory->65536,Warp Size->32,Maximum Pitch->2147483647,Maximum Registers Per Block->32768, Texture Alignment->512,Multiprocessor Count->14,Core Count->448,Execution Timeout->0,Integrated->False,Can Map Host Memory->True,Compute Mode->Default,Texture1D Width->65536,Texture2D宽度->65536,Texture2D 高度->65535,Texture3D 宽度->2048,Texture3D 高度->2048,Texture3D 深度->2048,Texture2D 阵列宽度->16384,Texture2D 阵列高度->16384,Texture2D 阵列切片->2048, Surface Alignment->512,Concurrent Kernels->True,ECC Enabled->True,Total Memory->2817982462},

这段代码所做的只是将 3D 数组的值设置为等于 CUDA 使用的索引:

出于某种原因,一旦我的 3D 数组的维度变得太大,索引就会停止。

我尝试了不同的块尺寸(blockDim.x by blockDim.y by blockDim.z):

8x8x8 只提供正确的索引到数组维度 12x12x12

9x9x9 只提供正确的索引到数组维度 14x14x14

10x10x10 只提供正确的索引到数组维度 15x15x15

对于大于这些的尺寸,所有不同的块大小最终会再次开始增加,但它们永远不会达到 dim^3-1 的值(这是 cuda 线程应该达到的最大索引)

以下是一些说明此行为的图表:

例如:这是在 x 轴上绘制 3D 数组的维度(即 x x x),在 y 轴上绘制在 cuda 执行期间处理的最大索引号。此特定图适用于 10x10x10 的块尺寸。

在此处输入图像描述

这是生成该图的(Mathematica)代码,但是当我运行这个时,我使用了 1024x1x1 的块尺寸:

这是相同的图,但现在绘制 x^3 以比较它应该在的位置。请注意,它在数组的维度大于 32 后发散

在此处输入图像描述

我测试了 3D 数组的维度,并查看了索引的距离并将其与 dim^3-1 进行比较。例如,对于 dim=32,cuda 最大索引为 32767(即 32^3 -1),但对于 dim=33,cuda 输出为 33791,而应为 35936(33^3 -1)。请注意,33791-32767 = 1024 = blockDim.x

问题:

有没有办法正确索引一个尺寸大于 Mathematica 中块尺寸的数组?

现在,我知道有些人在他们的索引方程中使用 __mul24(threadIdx.y,blockDim.x) 来防止位乘法错误,但在我的情况下似乎没有帮助。

另外,我看到有人提到您应该使用 -arch=sm_11 编译代码,因为默认情况下它是为计算能力 1.0 编译的。不过,我不知道 Mathematica 是否是这种情况。我假设 CUDAFunctionLoad[] 知道使用 2.0 功能进行编译。有谁知道吗?

任何建议都会非常有帮助!