标签: wolfram-mathematica

如何在mathematica中设置舍入精度

我想说明一些数值算法的稳定性。我想使用 Mathematica 根据通常的规则来舍入浮点数,例如:

myRound[3/80.]=0.038 如果我指定精度为 2 位。

另一个

myRound[89/47.]=1.89
Run Code Online (Sandbox Code Playgroud)

那么给定一个精度数,myRound函数怎么写呢?请帮忙。非常感谢。

wolfram-mathematica

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

如何在Mathematica函数中禁用区分大小写?

我想让mathematica对函数第一个大写字母不敏感.例如,它接受"绘图"和"绘图"作为绘图功能.

wolfram-mathematica case

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

是否有一个R等同于Mathematica的Sow和Reap功能用于构建列表?

Mathematica有一种有趣的方法,可以逐步构建一个列表(或多个列表),您可以在复杂计算的各个点计算结果.我想在R里做类似的事情.

在Mathematica中,您可以Sow通过在调用函数时包装整个计算来收集计算期间每个函数调用的每个参数的列表Reap.R是否具有这些功能的等价物?您是否可以使用环境和<<-运营商来模拟它,或者范围规则是否允许它?

编辑:这是一个人为的例子.假设我想生成一个多维数据集的总和,但我还想收集我用来制作多维数据集总和的数字的平方.我知道可能有更多惯用的方法来进行这种精确计算,但它代表了在收集沿途生产的各种物品时获得最终答案.

reap(sum(sapply(1:100, function(i) { sow(squares = i * i); i * i * i }))
Run Code Online (Sandbox Code Playgroud)

我希望这能返回具有多维数据集总和以及包含正方形列表的命名变量"squares"的内容.

wolfram-mathematica r list-manipulation

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

Python与Mathematica的浮点

鉴于硬件和内存有限,我们遇到了浮点问题.我的问题是,如何进来的Python:0.1 + 0.1 + 0.1 == 0.3回报率 False,而数学返回它True

Wolfram的人是如何管理它的,Python开发人员可以实现他们的解决方案吗?

floating-point wolfram-mathematica python-3.x

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

如何在不订阅Mathematica的情况下运行Mathematica代码?

是否有公共或第三方REPL或其他工具可用于运行Mathematica代码?我已经发送了一些代码来评估,但除了尽可能聪明地阅读它之外,我还想看看它的输出.我怎么做?

wolfram-mathematica read-eval-print-loop

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

创建NxN矩阵mathematica

在Mathematica中生成NxN矩阵有点麻烦.给定N的值,我需要构造如下所示的NxN矩阵:

NxN矩阵

N = Input["Enter value for N:"];
matrix = ConsantArray[0,{N,N}];
Do[matrix[[i,j]] =   **"???"**  ,{i,N}, {j,N}]
matrix // Matrix Form
Run Code Online (Sandbox Code Playgroud)

我不知道在Do-Loop中应该怎么做.任何帮助都会很感激.

wolfram-mathematica matrix

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

Mathematica和Python的超越方程解决方案不匹配

我正在解决一个超越方程组:

  1. cos(x) / x = 0.48283 + a*3.46891
  2. cos(y) / y = 0.47814 + b*28.6418
  3. a + b = 1
  4. 1.02 * sinc(x) = 1.03 * sinc(y)

事实上,我尝试用两种独立的编程语言(Mathematica和Python)解决上述系统

数学

运行代码

FindRoot[{Cos[x]/x == 0.482828 + a*3.46891, 
  Cos[y]/y == 0.47814 + b*28.6418, a + b == 1, 
  1.02*Sinc[x] == 1.03*Sinc[y]}, {{x, .2}, {y, .2}, {a, 0.3}, {b, 
   0.3}}, PrecisionGoal -> 6]
Run Code Online (Sandbox Code Playgroud)

回报

{x -> 0.261727, y -> 0.355888, a -> 0.924737, b -> 0.0752628}
Run Code Online (Sandbox Code Playgroud)

蟒蛇

运行代码:

import numpy as np
from scipy.optimize …
Run Code Online (Sandbox Code Playgroud)

python wolfram-mathematica numpy root

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

来自Matheab的Mathematica配色方案

我正在使用MatLab绘制我的数据,现在我有兴趣从中Mathematica获取颜色方案,因为那些MatLab实际上并不是最好的.

有没有办法导入它们MatLab

如果没有,有没有办法让类似的配色方案,如DarkRainbow彩虹MatLab?(我讨厌喷气机,MatLab因为一个人看不到黄线)

matlab color-scheme wolfram-mathematica colors

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

在Mathematica中找到对中列表中的最大对

有没有一种简单的方法可以从对列表中找到最大元素?基于列表构造(这些对应于坐标),存在明确定义的最大值{x_max,y_max}.例如,我正在寻找一个功能MaxElement

MaxElement[{{0, 0}, {0, 1}, {1, 1}, {1, 0}}]
Run Code Online (Sandbox Code Playgroud)

将返回 {1,1}

wolfram-mathematica

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

Python(+ SymPy):如何获得与Mathematica相同的结果?

我使用MathematicaPython计算了以下内容.

在此输入图像描述

Mathematica具有以下代码

f[x_] = a*b/(a - b)^2*Exp[-r*x] (Exp[-b*x] - Exp[-a*x]) (a*Exp[-b*x] - b*Exp[-a*x])
Assuming[{a > 0, b > 0, r > 0}, Integrate[f[x], {x, 0, \[Infinity]}]]
Run Code Online (Sandbox Code Playgroud)

给出了相当不错的结果:

在此输入图像描述

但是,以下Python(带SymPy)代码

from sympy import *
init_printing()
x = symbols('x')
a, b, r = symbols('a b r', positive=True)
fun = a*b/((a-b)**2) * exp(-r*x) * (exp(-b*x) - exp(-a*x)) * (a*exp(-b*x) - b*exp(-a*x))
simplify(integrate(fun, (x, 0, oo)))
Run Code Online (Sandbox Code Playgroud)

产生一个相当混乱的结果:

在此输入图像描述

我在Python代码中缺少什么才能在Mathematica中获得相同的结果?或者它可能吗?

python wolfram-mathematica sympy

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