在枫树中绘制多个数组

Plotting multiple arrays in maple

我正在尝试在单个坐标系中绘制 4 个数据集。我可以自己绘制每一个。但是,当我尝试使用相同的绘图函数绘制 2 个或更多个时,出现错误。我不能使用列表,因为我想将数组扩展到 2*10000,而列表不能。我正在使用 Maple 18。 谁能帮我解决这个问题?

这是我的代码:

这是一个绘制的数据集:

这是我在尝试绘制多个集合时遇到的错误(请注意,我曾尝试使用 {} 而不是 []):

您的问题是您对 pairzip 的使用不会生成其布局对绘图有效的数组 P[i]。 (也许你从旨在生成列表列表而不是数组的东西中抄袭了那段代码。)

相反,您可以将 P[i] 构造为 iterator-by-2 矩阵(即 2 列矩阵)。

一种方式:

restart;

mu := 2.5:
iterator := 25:

fcn := proc(a)
  local F,i;
  F := Array(1..iterator);
  F[1] := a;
  for i from 2 by 1 to iterator do
    F[i] := mu*F[i-1]*(1-F[i-1]);
  end do;
  F;
end proc:

f[1]:=fcn(0.01):
f[2]:=fcn(0.1):
f[3]:=fcn(0.3):
f[4]:=fcn(0.5):

x := Array([seq(i,i=1..iterator)]):

for i from 1 to 4 do
  P[i] := <x,f[i]>^%T:
end do:

plot([P[1],P[2],P[3],P[4]]);

另一种(类似)方式:

restart;

mu := 2.5:
iterator := 25:

fcn := proc(a)
  local F,i;
  F := Vector(1..iterator);
  F[1] := a;
  for i from 2 by 1 to iterator do
    F[i] := mu*F[i-1]*(1-F[i-1]);
  end do;
  F;
end proc:

f[1]:=fcn(0.01):
f[2]:=fcn(0.1):
f[3]:=fcn(0.3):
f[4]:=fcn(0.5):

x := Vector([seq(i,i=1..iterator)]):

for i from 1 to 4 do
  P[i] := <x|f[i]>:
end do:

plot([P[1],P[2],P[3],P[4]]);

您也可以直接在您的 f[i] 上使用命令 plots:-listplot,但您可能还可以为每种颜色指定不同的颜色,以便在您使用 [=19= 时看起来不错] 一起渲染它们。

我把性能的考虑放在一边。有很多方法可以做到这一切并获得更快的计算速度。我特意保留了你的基本方法。