2016-10-05 39 views
1

我想用點繪製一個三維圖(我想我已經管理過了)並且擬合了一組這些點的數學函數。我的變量V1可以假設兩個值2或4.所以,如果V1等於2,則函數繪圖,否則如果V1等於4,則繪製其他函數。當我嘗試做此消息出現:在SPSS中繪製三維函數和點

ERRO德GPL:代數(ITER(5000,1000000,10)DOIF(V1 = 2)) 期待(或+或*或/:ITER(5000, 1000000,10)DOIF(V1 = 2)

我的代碼:

> GGRAPH /GRAPHDATASET NAME="graphdataset" VARIABLES=V2 pacpop V1 
> MISSING=LISTWISE REPORTMISSING=NO /GRAPHSPEC SOURCE=INLINE. BEGIN 
> GPL SOURCE: s=userSource(id("graphdataset"))  
>DATA:V2=col(source(s), name("V2"))  
>DATA: pacpop=col(source(s),name("pacpop"))  
>DATA: V1=col(source(s), name("V1"),unit.category())  
>COORD: rect(dim(1,2,3))  
>GUIDE: axis(dim(1),label("Sexo")) 
> GUIDE: axis(dim(2), label("Rendimento Mensal")) 
> GUIDE: axis(dim(3), label("pacpop"))  
>SCALE: log(dim(2), base(10)) 
>SCALE: log(dim(3), base(10)) 
>SCALE: cat(dim(1), include("2", "4")) 
> ELEMENT: point(position(V1*V2*pacpop)) 
>DATA: p = iter(0,5000,1) 
> DATA: q = iter(5000,1000000,10) 
>DATA: x = iter(0,5000,1) 
>DATA: z =iter(5000,1000000,10) 
>DO IF (V1=2). 
>TRANS: y =eval(100*exp((-x/1654.97)) 
> TRANS: w = eval((10**8.865)/(z**2.186)) 
> ELEMENT: line(position(V1*x*y),color.interior(color."ff0000")) 
> ELEMENT: line(position(V1*z*w), color.interior(color."ff0000")) 
> ELSE. 
> TRANS: r = eval(100*exp((-p/1415.97)) 
>TRANS: s = eval((10**7.065)/(q**2.216)) 
>ELEMENT:line(position(V1*p*r),color.interior(color."ff0000")) 
ELEMENT:line(position(V1*q*s), color.interior(color."ff0000")) 
>END IF. 
> END GPL. 
+1

您不能在GGRAPH語句中混用DO IF。 –

回答

0

沒有必要在這裏使用3D V1以來只能取兩個值,你可以簡單地疊加這些線路到。同樣的情節,看看他們在哪裏發生分歧,例如下面。注意我將p改爲1到5000的範圍,不能取0的對數。

GGRAPH /GRAPHSPEC SOURCE=INLINE. 
BEGIN GPL 
    COORD: rect(dim(1,2)) 
    DATA: p = iter(1,5000,1) 
    DATA: q = iter(5000,1000000,10) 
    TRANS: y =eval(100*exp((-p/1654.97)) 
    TRANS: w = eval((10**8.865)/(q**2.186)) 
    TRANS: r = eval(100*exp((-p/1415.97)) 
    TRANS: s = eval((10**7.065)/(q**2.216)) 
    TRANS: V2 = eval("V1=2") 
    TRANS: V4 = eval("V1=4") 
    SCALE: log(dim(1), base(10)) 
    SCALE: log(dim(2), base(10)) 
    GUIDE: axis(dim(3), opposite()) 
    ELEMENT: line(position(p*y), color.interior(color.red)) 
    ELEMENT: line(position(q*w), color.interior(color.pink)) 
    ELEMENT: line(position(p*r),color.interior(color.blue)) 
    ELEMENT: line(position(q*s), color.interior(color.lightblue)) 
END GPL. 

enter image description here

你可以從那裏工作了繪製3d的,如果你真的想,但我不會推薦它。