[modifică] Variabile
<имя переменной> = <значение>
Deoarece GNU Octave este considerat un limbaj de nivel înalt, anumite cerințe sunt stabilite pentru definirea variabilelor:
- Numele variabilei poate conține litere, numere și subliniere "_", dar nu trebuie să înceapă cu o cifră;
- Limba Octave GNU este sensibilă la minuscule; A și a sunt variabile diferite;
- Puteți crea variabile oriunde în program (acestea nu sunt descrise sau declarate);
- variabilele nu au o "persistență" a tipului de date, adică mai întâi puteți aloca a = 10. și apoi a = "Bună ziua!" ;
Ca în limbile de programare convenționale, variabilele Octave sunt împărțite în globale (definite în fișiere script) și locale (definite în funcțiile de fișiere). Luați în considerare următorul exemplu. Rezultatele calculelor (în acest caz, atribuirea valorilor la variabilele a și b) ale programului "principal" Script1 sunt transferate în subrutina Script2 și care, la rândul său, efectuează unele acțiuni asupra acestora și apelează funcția MyFunction ().
# Fișierul Script1.m
a = 1;
b = 3;
script2;
# Fișierul Script2.m
a = 2;
b = 2;
MyFunction ();
# File MyFunction.m
funcția MyFunction ()
a = 3;
b = 3;
endfunction
Ca urmare a apelării a trei fișiere m, valorile variabilelor vor rămâne a = 2 și b = 2. Faptul este că variabilele declarate în funcție sunt considerate locale, adică ele sunt create atunci când accesați MyFunction și sunt scoase din memorie atunci când o părăsiți. Variabilele create în script-urile "live" până când întregul set de comenzi este executat (nu contează dacă aceste comenzi sunt plasate în aceleași fișiere sau în alte fișiere). În plus, valorile variabilelor globale sunt păstrate pe parcursul întregii sesiuni cu Octave. și anume acestea sunt disponibile chiar și în programe complet diferite care sunt executate secvențial fără a părăsi sistemul. Astfel, în exemplul de mai sus, sunt create două perechi diferite de variabile cu același nume, o pereche de a și b există în afara definiției funcției, a doua copie este pur și simplu în cadrul funcției. endfunction.
[edit] Declarația globală a variabilelor
După cum sa menționat mai sus, spațiile variabilelor scripturilor și funcțiilor nu se intersectează reciproc. Cu toate acestea, este posibil ca funcția să acceseze o variabilă globală pentru a utiliza valoarea sa (atât citirea, cât și schimbarea). Oportunitatea este realizată prin intermediul cuvântului cheie global.
[edit] Declarația persistentă a variabilelor
[edit] Structuri de date
Destul de des trebuie să ne ocupăm de date care sunt grupate în funcție de o anumită condiție logică, dar în general au diferite tipuri. Pe de o parte, ele pot fi privite ca o structură unică și, pe de altă parte, ca un set de elemente separate. Construcții similare în limbile de programare sunt numite "înregistrări". În Octave, ele sunt numite structuri de date.
<имя переменной 1>.<имя переменной 2>[.<имя переменной 3>[.<имя переменной 4>[. <имя переменной N>]]]
Exemplul 3. Determinarea distanței intermediare a trenului de viteze
Gear1.m = 1,5; # modul de unelte nr. 1
Gear1.z = 20; Numărul de dinți ai uneltei nr. 1
Gear2.m = 1,5; # modul de viteză # 2
Gear2.z = 50; # numărul de dinți de viteză nr. 2
funcția d = Diam (Gear) # calculul diametrului de divizare
d = Gear.m * Gear.z;
endfunction
a = (Diam (Gear1) + Diam (Gear2)) / 2 # Distanța intexinală: ans = 52,5
Structurile de date pot fi create utilizând structura funcțiilor încorporate. care are sintaxa (<"поле 1">, <значение1>, <"поле 2">, <значение 2>. ):
Octave oferă, de asemenea, o serie de funcții pentru getfield, rmfield, isfield, isstruct, fieldnames, struct, cellstr, iscellstr, setfield, subsref, subsasgn (vezi ajutor).
[edit] Format de ieșire de valori
Evident, în cazuri diferite, este necesar să se afișeze rezultatele calculelor cu o acuratețe diferită. În acest scop, utilizați comanda de formate.
unde <опция> poate lua una dintre următoarele valori: