相关疑难解决方法(0)

Mathematica执行时错误:符号名称

Mathematica中存在一个奇怪的错误,至少从版本5.1开始,并持续到版本7.


Module[{f, L}, L = f[];
  Do[L = f[L, i], {i, 10^4}]] // Timing
Run Code Online (Sandbox Code Playgroud)
  {0.015, Null}
Module[{weirdness, L}, L = weirdness[];
  Do[L = weirdness[L, i], {i, 10^4}]] // Timing
Run Code Online (Sandbox Code Playgroud)
  {2.266, Null}

  • 是什么导致这个?这是一个哈希问题吗?

  • 在版本8中修复了吗?

  • 除了测试之外,有没有办法知道哪些符号名称导致减速?

wolfram-mathematica timing execution-time

13
推荐指数
2
解决办法
686
查看次数

关于mathematica中"智能"替换的问题

我如何告诉mathematica巧妙地做这个替换?(或者我如何更聪明地告诉mathematica做我想做的事)

expr = b + c d + ec + 2 a;
expr /. a + b :> 1

Out = 2 a + b + c d + ec
Run Code Online (Sandbox Code Playgroud)

我希望答案是a + cd + ec + 1.在有人建议之前,我不想这样做a :> 1 - b,因为出于审美目的,只要无法进行简化,我就想拥有两者a并且b在我的等式中a+b = 1.


此外,我如何得到它取代的所有实例1-b,-b+1或者-1+b,b-1a-a分别,反之亦然?

以下是此部分的示例:

expr = b + c (1 - a) + (-1 + b)(a - …
Run Code Online (Sandbox Code Playgroud)

wolfram-mathematica

6
推荐指数
2
解决办法
2472
查看次数