2016-09-19 1 views
0

단일 좌표계에서 4 개의 데이터 세트를 플롯하려고합니다. 나는 그 (것)들의 각 단일성을 그 자체로 음모를 꾸밀 수있다. 그러나 동일한 플롯 기능으로 2 개 이상의 플롯을 만들려고하면 오류가 발생합니다. 리스트를 2 * 10000까지 스케일링하고 싶기 때문에 목록을 사용할 수 없습니다. 나는 메이플 18을 사용하고 있습니다. 누구든지이 문제를 해결할 수 있습니까? 내가 시도 참고 여러 세트를 (플롯 할 때, 여기에 enter image description here여러 개의 배열을 단풍 나무에 그려야합니다

은 내가 오류입니다 :

여기 enter image description here

가 그려진 데이터 집합입니다 :

내 코드입니다 대신) []의} {사용 : enter image description here

답변

2

귀하의 문제는 pair 및,423,821,943,916,321의 사용 0은 레이아웃이 플로팅에 유효한 배열 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을 사용할 수 있습니다 각각을 위해 plots:-display을 모두 사용하여 멋지게 보였습니다.

성능에 대한 고려 사항은 별도로 남겨 둡니다. 이 모든 것을 수행하고 더 빠른 계산을하는 방법이 있습니다. 나는 의도적으로 기본 방법론을 지킨다.