Vytvoreniu vektora v predpise EDA-L predchádza zadefinovanie premennej typu VECTOR v deklaračnej časti predpisu. V predpise je možné vytvoriť viacero premenných typu VECTOR. Definovaním premennej typu VECTOR implicitne vzniká vektor nulovej dĺžky. Použitím funkcie %CreateVector je možné vytvoriť vektor s iným definovaným rozsahom s hodnotami inicializovanými na neplatné hodnoty. Funkciou %CreateVectorInit je možné vytvoriť vektor s hodnotami inicializovanými na hodnotu danú parametrom.
VECTOR _v; INT _i; -- Vytvorí vektor s periódou _STEP v rozsahu časov _BT .. _ET. (A1) %CreateVector(_v, _BT, _ET, _STEP); -- Vytvorí vektor s periódou _STEP v rozsahu časov _BT .. _ET s hodnotami inicializovanými na 0. (A2) %CreateVectorInit(_v, 0, _BT, _ET, _STEP); -- Vytvorí vektor s piatimi hodnotami. Časy hodnôt je následne potrebné nastaviť funkciou %SetItemTime. (B1) -- V tomto príklade časy nastavuje od počiatočného času _BT s minútovým krokom. %CreateVector(_v, 5); FOR _i = 1 TO %ValuesNr(_v) LOOP %SetItemTime(_v, _i, _BT + (_i - 1 ) * 60); END LOOP; -- Vytvorí vektor s troma hodnotami inizializovanými na 0. Časy hodnôt je následne potrebné nastaviť funkciou %SetItemTime. (B2) -- V tomto príklade časy nastavuje konkrétnymi hodnotami. %CreateVectorInit(_v, 0, 3); %SetItemTime(_v, 1, %TimeFromItems(2023, 1, 1, 0, 0, 0)); %SetItemTime(_v, 2, %TimeFromItems(2023, 1, 10, 5, 0, 0)); %SetItemTime(_v, 3, %TimeFromItems(2023, 1, 15, 23, 9, 0));
Prípady vytvorenia A1 a A2 sú používané vtedy, keď sa vytvára vektor s definovanou periódou v danom rozsahu časov. Funkcia vytvorí vektor s počtom hodnôt odvodeným od zadanej periódy a rozsahu časov. Časy jednotlivých hodnôt vektora budú automaticky nastavené. Ako rozsahy časov je možné použiť akékoľvek výrazy typu TIME a ako periódu je možné použiť jednu z preddefinovaných periód, konštantu _STEP v prípade, že ide o výpočet periodického vektora, kód užívateľsky definovanej periódy alebo id lokálne periódy vytvorenej funkciou %CreatePeriod.
Prípady B1 a B2 vytvárajú zmenový vektor s daným počtom hodnôt. Časy jednotlivých hodnôt vytvoreného vektora je následne potrebné explicitne nastaviť funkciou %SetItemTime.
Časy hodnôt vektora na výstupe výpočtu musia byť striktne rastúce. Časy hodnôt premenných typu VECTOR musia byť rastúce, ak je k premennej pristupované časovou indexáciou alebo ak je premenná odovzdaná na spracovanie funkcii, ktorá nad vektorom pracuje na základe časových značiek hodnôt (napr. agregácie, prekrokovanie a pod.).
Pridať komentár