0
我試圖在單個座標系中繪製4個數據集。我可以自己繪製它們中的每一個。但是,當我嘗試使用相同的繪圖函數繪製2個或更多圖形時,出現錯誤。我不能使用列表,因爲我想將數組縮放到2 * 10000,列表不能。我正在使用楓葉18. 任何人都可以請幫我解決這個問題嗎?在楓樹中繪製多個數組
這是我的代碼:
這裏是我的錯誤,當試圖繪製多套(注意:我曾嘗試使用{}而不是[]):
我試圖在單個座標系中繪製4個數據集。我可以自己繪製它們中的每一個。但是,當我嘗試使用相同的繪圖函數繪製2個或更多圖形時,出現錯誤。我不能使用列表,因爲我想將數組縮放到2 * 10000,列表不能。我正在使用楓葉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]]);
你可以選擇使用命令plots:-listplot
直接在f[i]
,雖然你很可能的方式還可以指定不同的顏色對於每個人來說,當你使用plots:-display
將它們全部渲染在一起時,它看起來不錯。
我不考慮性能。有辦法做到這一切,並獲得更快的計算。我故意保留你的基本方法。