wxMaxima 中 Mathematica 的 ListLinePlot

Mathematica's ListLinePlot in wxMaxima

我有以下功能:

P[t_] := P[t] = P[t-1] +a*ED[t-1];
ED[t_] := ED[t] = DF[t] + DC[t];
DF[t_] := DF[t] = b (F - P[t]);
DC[t_] := DC[t] = c (P[t] - F);

以及以下参数:

a=1;
c=0.2;
b = 0.75;
F=100;

在 Mathematica 中,我使用函数“ListLinePlot”来绘制 P[t] 和 F:

ListLinePlot[{Table[P[t], {t, 0, 25}], Table[F, {t, 0, 25}]}, PlotStyle → {Black, Red},Frame → True, FrameLabel → {"time", "price"}, AspectRatio → 0.4, PlotRange → All]

我如何在 wxMaxima 中做到这一点?是否有与 ListLinePlot 类似的功能或替代方法?

这是我在wxMaxima中的尝试:

P[t] := P[t-1] + a * ED[t-1];
ED[t] := DF[t] + DC[t];
DF[t] := b*[F-P[t]];
DC[t] := c*[P[t]-F];

a=1;
c=0.2;
b=0.75;
F=100;

然后我尝试了:

draw2d(points(P[t], [t,0,25]))

绘制的函数应如下所示:

好的,我已经修改了您上面显示的代码。这对我有用。我在 macOS 上使用 Maxima 5.44。

P[t] := P[t-1] + a * ED[t-1];
ED[t] := DF[t] + DC[t];
DF[t] := b*(F-P[t]);
DC[t] := c*(P[t]-F);

a:1;
c:0.2;
b:0.75;
F:100;
P[0]: F + 1;

Pt_list: makelist (P[t], t, 0, 25);

load (draw);
set_draw_defaults (terminal = qt);
draw2d (points_joined = true, points(Pt_list));

注释。 (1) P 上的递归需要有一个基本情况。我放了P[0]: F + 1。 (2) 赋值是 : 而不是 =。请注意 x = y 是一个符号方程而不是赋值。 (3) 方括号[ ] 仅用于下标和列表。使用括号 ( ) 对表达式进行分组。 (4) draw2d 的语法有点不同,我修正了它。 (我为 terminal 设置了默认值,因为 macOS 上的 Maxima 的内置值不正确;如果您正在使用 Linux 或 Windows,则可以忽略它。)

编辑:试试这个也画一条水平线。

draw2d (points_joined = true, points(Pt_list),
        color = red, points([[0, F], [25, F]]), 
        yrange = [F - 1, P[0] + 1]);