在枫树中绘制多个数组
Plotting multiple arrays in maple
我正在尝试在单个坐标系中绘制 4 个数据集。我可以自己绘制每一个。但是,当我尝试使用相同的绘图函数绘制 2 个或更多个时,出现错误。我不能使用列表,因为我想将数组扩展到 2*10000,而列表不能。我正在使用 Maple 18。
谁能帮我解决这个问题?
这是我的代码:
这是一个绘制的数据集:
这是我在尝试绘制多个集合时遇到的错误(请注意,我曾尝试使用 {} 而不是 []):
您的问题是您对 pair
和 zip
的使用不会生成其布局对绘图有效的数组 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= 时看起来不错] 一起渲染它们。
我把性能的考虑放在一边。有很多方法可以做到这一切并获得更快的计算速度。我特意保留了你的基本方法。
我正在尝试在单个坐标系中绘制 4 个数据集。我可以自己绘制每一个。但是,当我尝试使用相同的绘图函数绘制 2 个或更多个时,出现错误。我不能使用列表,因为我想将数组扩展到 2*10000,而列表不能。我正在使用 Maple 18。 谁能帮我解决这个问题?
这是我的代码:
这是一个绘制的数据集:
这是我在尝试绘制多个集合时遇到的错误(请注意,我曾尝试使用 {} 而不是 []):
您的问题是您对 pair
和 zip
的使用不会生成其布局对绘图有效的数组 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= 时看起来不错] 一起渲染它们。
我把性能的考虑放在一边。有很多方法可以做到这一切并获得更快的计算速度。我特意保留了你的基本方法。