问题标签 [mathematica-7]
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 - 有没有更快的方法来找到最小值和最大值?
我经常写:{Min@#, Max@#} &
然而这似乎效率低下,因为表达式必须扫描两次,一次是为了找到最小值,一次是为了找到最大值。有没有更快的方法来做到这一点?表达式通常是张量或数组。
wolfram-mathematica - 每个组在指定级别的唯一上下文
最新版本的 Mathematica 提供了$Context
为每个单元组设置唯一的选项,通过:
- 评估 > 笔记本的默认上下文 > 每个单元组唯一
这是一个吸引人的概念,但我发现它无法使用,因为我的代码跨越了多个单元组。
我想要一种方法来为特定级别的单元组(例如 every )指定唯一的上下文Section
,但不是为 every Subsection
or指定单独的上下文Subsubsection
。
解决方案将需要在创建新单元组时对其产生影响。
wolfram-mathematica - 在 Mathematica 7 中连接两个整数
在 Mathematica 7 中连接两个正整数的最有效方法是什么?
cc[123, 4567]
>>1234567
超过两个怎么办?
cc[123, 4, 567, 89]
>>123456789
wolfram-mathematica - v7 中 GroebnerBasis 的奇怪行为
我在使用时遇到了一些奇怪的行为GroebnerBasis
。在m1
下面,我使用希腊字母作为变量,在 中m2
,我使用拉丁字母。它们都没有与之相关的规则。为什么我会根据我选择的变量得到截然不同的答案?
图片:
可复制代码:
编辑:
正如belisarius 所指出的,我的用法GroebnerBasis
并不完全正确,因为它需要多项式输入,而我的不是。m1
这个由复制意大利面引入的错误直到现在都没有引起注意,因为当我使用上面的代码完成其余代码时,我得到了我所期望的答案。但是,我并不完全相信这是一个不合理的用法。考虑下面的例子:
哪个是对的。所以我的解释是在这种情况下使用它是可以GroebnerBasis
的,但我不太熟悉它背后的深层理论,所以我在这里可能完全错了。
PS 我听说如果你GroebnerBasis
在帖子中提到三遍,Daniel Lichtblau 会回答你的问题 :)
wolfram-mathematica - Mathematica 7 逐步显示答案
我想知道 Mathematica 用于获得结果的步骤。我有
和 Mathematica 显示 0 但我想知道它是如何得到这个结果的。
wolfram-mathematica - Interpolation 的 InterpolationOrder 选项的奇怪行为
当尝试重新创建一个InterpolationFunction
由我制作的选项时,NDSolve
我遇到了非常奇怪的问题。考虑以下内容(文档中的示例函数):InterpolationOrder
Interpolation
InterpolationFunction
现在让我们尝试重建它。这是数据:
这是InterpolationOrder
:
现在我们尝试构建InterpolatingFunction
:
并得到错误Message
:
Interpolation::inord: 选项 InterpolationOrder -> {3} 的值应该是非负机器大小的整数或长度等于维数 1 的整数列表。 >>
但是如果我们InterpolationOrder
手动指定就OK了:
谁能解释为什么InterpolationOrder -> interpolationOrder
在工作时不起作用,InterpolationOrder -> {3}
尽管必须根据标准评估顺序在调用之前interpolationOrder
替换?{3}
Interpolation
PS 该问题出现在Mathematica 7.0.1 和 8.0.1 中,但不在Mathematica 5.2 中。
更新
我找到了一个解决这个错误的方法:
按预期工作。
Rule[InterpolationOrder,interpolationOrder]
由和求值生成的表达式似乎Rule[InterpolationOrder,{3}]
具有不同的内部结构,尽管它们是相同的:
performance - “地图列表”功能
在Mathematica中有许多函数不仅返回最终结果或单个匹配,而且返回所有结果。此类函数被命名为*List
. 展示:
- 折叠列表
- 嵌套列表
- 替换列表
- 组成列表
我缺少的是 MapList 函数。
例如,我想要:
我想要该函数的每个应用程序的列表元素:
可以将其实现为:
但是,它的效率很低。考虑这个简单的案例,并比较这些时间:
这说明平均而言MapList
,比将函数映射到列表中的每个元素并创建 1000x1000 数组的总和慢约 38 倍。
因此,如何最有效地实现 MapList?
performance - 检查列表是否包含零的最快方法
在准备Secret Santa 的答案 - 生成“有效”排列时,我遇到了检查列表是否包含零的需要。我想知道在Mathematica 7中最快的方法是什么,重点是非负整数的简短列表。
usingMin[list] === 0
是我发现的最快的,比MemberQ
or更快FreeQ
,但我希望有一种更快的方法,与BitXor
下面的操作相当:
colors - ColorFunction and Blend with respect to ListDensityPlot in Mathematica
I am trying to plot a series of data corresponding to (x,y) positions using ListDensityPlot in Mathematica 7. mydata
is a list of data triplets {x,y,f}, where f is a real number between -4.5 and +4.5 (inclusive).
I would like ListDensityPlot to have deep blue color when f=-4.5 and deep red color when f=+4.5, and color that is linearly interpolated between blue and red when f is between -4.5 and +4.5.
I have tried to use a command like:
I get the following:
I have pasted mydata
below. ListDensityPlot generates a plot, but strangely, regions of very negative f have been colored white, not blue as they should be. Do you have any ideas about how I can fix this?
Thank you very much!
Andrew DeYoung Carnegie Mellon University
parallel-processing - 为什么这个 Mathematica 7 Do 循环按顺序工作,但并行产生错误(使用 ParallelDo)?
我正在运行 Mathematica 7,并且正在尝试Do
使用ParallelDo
. 以下标准的顺序代码可以正常工作:
但是,如果我使用ParallelDo
而不是 standard Do
,则此代码会给出错误消息:
我收到的错误消息是:
我能做些什么来并行运行这个Do循环吗?
谢谢!
安德鲁·德扬
卡内基·梅隆大学