我正在尝试在单个坐标系中绘制4个数据集。我可以自己绘制每一个。但是,当我尝试用相同的绘图函数绘制2个或更多时,我得到一个错误。我不能使用列表,因为我想将数组扩展到2 * 10000,而列表则不能。我正在使用Maple 18。 有人可以帮我解决这个问题吗?
这是我的代码:
答案 0 :(得分:2)
您的问题是,使用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]]);
您也可以直接在plots:-listplot
上使用f[i]
命令,但您可能还可以为每种颜色指定不同的颜色,以便在使用{{1}时看起来不错将它们全部渲染出来。
我不考虑表现。有办法完成所有这些并获得更快的计算。我故意保留你的基本方法。