Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/238.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wolfram mathematica Mathematica运行非常缓慢,只有4个积分。回忆录?_Wolfram Mathematica_Memoization - Fatal编程技术网

Wolfram mathematica Mathematica运行非常缓慢,只有4个积分。回忆录?

Wolfram mathematica Mathematica运行非常缓慢,只有4个积分。回忆录?,wolfram-mathematica,memoization,Wolfram Mathematica,Memoization,在玩傅立叶积分的时候,我注意到我的计算花费了很长的时间。我有两组分段函数,两个函数和两个积分。我不认为Mathematica需要花这么长时间来计算这些。尤其是什么东西使我的计算速度慢了这么多?如何提高计算时间?使用一些记忆的组合会有帮助吗(:=,对此我不太理解) 减小积分的极限有点帮助,但没有我想象的那么多 我的代码如下: MM = 50; qf = 10; (*First Set*) f[t_] = Piecewise[{{1, t <= 0.5}, {

在玩傅立叶积分的时候,我注意到我的计算花费了很长的时间。我有两组分段函数,两个函数和两个积分。我不认为Mathematica需要花这么长时间来计算这些。尤其是什么东西使我的计算速度慢了这么多?如何提高计算时间?使用一些记忆的组合会有帮助吗(:=,对此我不太理解)

减小积分的极限有点帮助,但没有我想象的那么多

我的代码如下:

    MM = 50;
    qf = 10;

    (*First Set*)
    f[t_] = Piecewise[{{1, t <= 0.5}, {0, t > 0.5}}];
    A[w_] = qf Sin[w/2]/(Pi w);
    B[w_] = qf (1 - Cos[w/2])/(Pi w);
    f[x_] = Integrate[A[w] Cos[w x], {x, 0, MM}];
    g[x_] = Integrate[B[w] Sin[w x], {x, 0, MM}];
    Plot[f[x], {x, 0, 1}]
    Plot[g[x], {x, 0, 1}]
    Plot[f[x] + g[x], {x, 0, 1}]

    (*Second Set*)
    ff[t_] = Piecewise[{{1, t <= 0.5}, {0, t > 0.5}}];
    AA[w_] = qf (Sin[w] - Sin[w/2])/(Pi w);
    BB[w_] = -qf (Cos[w] - Cos[w/2])/(Pi w);
    ff[x_] = Integrate[AA[w] Cos[w x], {x, 0, MM}];
    gg[x_] = Integrate[BB[w] Sin[w x], {x, 0, MM}];
    Plot[ff[x], {x, 0, 1}]
    Plot[gg[x], {x, 0, 1}]
    Plot[ff[x] + gg[x], {x, 0, 1}]
MM=50;
qf=10;
(*第一套*)
f[t_]=分段[{1,t0.5}}];
A[w_]=qf-Sin[w/2]/(Pi-w);
B[w_]=qf(1-Cos[w/2])/(Pi-w);
f[x_]=积分[A[w]Cos[wx],{x,0,MM}];
g[x_]=积分[B[w]Sin[wx],{x,0,MM}];
图[f[x],{x,0,1}]
图[g[x],{x,0,1}]
图[f[x]+g[x],{x,0,1}]
(*第二套*)
ff[t_]=分段[{1,t0.5}}];
AA[w_]=qf(Sin[w]-Sin[w/2])/(Pi-w);
BB[w_]=-qf(Cos[w]-Cos[w/2])/(Pi-w);
ff[x_]=积分[AA[w]Cos[wx],{x,0,MM}];
gg[x_]=积分[BB[w]Sin[wx],{x,0,MM}];
绘图[ff[x],{x,0,1}]
图[gg[x],{x,0,1}]
图[ff[x]+gg[x],{x,0,1}]

您的代码有几个问题,如图所示:

  • 您尚未定义
    w
    ,因此未对例如
    f[x\u]
    进行充分评估
  • 您先定义
    f[t\u]
    ,然后定义
    f[x\u]
    ,这将覆盖第一个定义
  • 你在逐段误用
    。它应该类似于分段[{Sin[x]/x,x<0},{1,x==0},-x^2/100+1]

  • 在几秒钟内为我跑步。然而,
    绘图
    s显示为空。此外,您可能会有更好的运气。如果不修改您的代码以便其他人可以对其进行测试,这个问题是不可复制的,应该关闭。计算定积分的结果将不是积分变量的函数。。(!)