向量: 簡短格式 (VECTOR 指令)
VECTOR 可用來建立新變數的清單,以及同步參照這些變數的向量。 VECTOR 的簡短格式指定英數字元的字首,以括弧括住,後面接著向量的長度 (要建立的變數數目)。
- 新變數名稱不得與現有變數衝突。 如果字首以 # 字元開頭,則會根據標為暫時刪除變數的規則來建立新變數。
- 藉由在長度規格之前命名兩個以上字首,可以建立多個相同長度的向量。
- 依預設,以
VECTORreceiveF8.2格式建立的變數。 您可以指定變數的替代格式,方法是在括弧內包含長度規格的格式規格。 可以按任一順序指定格式和長度,並且必須以至少一個空格或逗點區隔。 如果建立多個向量,則除非您另有指定,否則指派的格式會套用至所有向量。
從一組新的標為暫時刪除變數建立向量
VECTOR #WORK(10).
- 程式會透過 #WORK10建立向量 #WORK,其參照 10 個標為暫時刪除變數: #WORK1, #WORK2, 等。 因此,向量的元素 #WORK(5) 是變數 #WORK5。
建立相同長度的多個向量
VECTOR X,Y(5).
VECTOR會建立向量 X 和 Y, 參照新變數 X1 到 X5 及 Y1 到 Y5。
指定向量變數的格式
VECTOR X(6,A5).
VECTOR會將A5格式指派給變數 X1 到 X6。
建立不同長度及格式的多個向量
VECTOR X,Y(A5,6) Z(3,F2).
VECTOR會將變數 X1 的A5格式指派給 X6 ,將 Y1 指派給 Y6,並將變數 Z1 的F2格式指派給 Z3。 不論格式或長度是先在括弧內指定。
使用簡短格式的 VECTOR 預先決定變數順序
INPUT PROGRAM.
VECTOR X Y (4,F8.2).
DATA LIST / X4 Y4 X3 Y3 X2 Y2 X1 Y1 1-8.
END INPUT PROGRAM.
PRINT /X1 TO X4 Y1 TO Y4.
BEGIN DATA
49382716
49382716
49382716
END DATA.
- 在
DATA LIST指令上定義一組變數之前,簡短格式的VECTOR可用來建立這些變數的字典順序。 若要預先決定變數順序,VECTOR和DATA LIST必須含括在INPUT PROGRAM和END INPUT PROGRAM指令中。 - 作用中資料集的變數順序為 X1、 X2、 X3、 及 X4,以及 Y1、 Y2、 Y3及 Y4,即使它們在
DATA LIST上以不同順序定義。 - 程式會以
DATA LIST上指定的F1格式讀取變數。 它會以VECTOR(F8.2) 上指派的輸出格式來寫入變數。 - 預先決定變數順序的另一種方法是在
DATA LIST指令 (請參閱 數值 指令的變數順序範例) 之前使用NUMERIC(如果變數是字串變數,則為STRING)。 使用NUMERIC或STRING的優點是您可以將助記名稱指派給變數。
向量指派中的名稱衝突
INPUT PROGRAM.
NUMERIC MIN MINI_A MINI_B MINIM(F2).
COMPUTE MINI_A = MINI(2). /*MINI is function MINIMUM.
VECTOR MINI(3,F2).
DO REPEAT I = 1 TO 3.
+ COMPUTE MINI(I) = -I.
END REPEAT.
COMPUTE MIN = MIN(1). /*The second MIN is function MINIMUM.
COMPUTE MINI_B = MINI(2). /*MINI now references vector MINI
COMPUTE MINIM = MINIM(3). /*The second MINIM is function MINIMUM.
END CASE.
END FILE.
END INPUT PROGRAM.
- 在此範例中,尺度 (在
NUMERIC上命名的變數)、向量 (在VECTOR上命名) 及統計函數MINIMUM之間可能存在名稱衝突。 - 未後接左括弧的名稱會被視為純量。
- 當後接左括弧的名稱可能參照向量元素或函數時,會優先使用向量。