我的职能如下:
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“函数来绘制Pt和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]))绘制的函数应该如下所示:

发布于 2020-12-29 00:50:36
好的,我已经修改了你上面显示的代码。这对我有用。我正在macOS上使用Maxima5.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或macOS上工作,您可以忽略这一点。)
编辑:试着画一条水平线。
draw2d (points_joined = true, points(Pt_list),
color = red, points([[0, F], [25, F]]),
yrange = [F - 1, P[0] + 1]);https://stackoverflow.com/questions/65480273
复制相似问题