O parte a programului Scilab în scilab

denumiri

În întregul ciclu, atunci când se descrie forma generală a construcțiilor, se utilizează următoarea notație:

  • caracterele aldine indică cuvintele cheie;
  • în paranteze indicați <названия элементов>. care sunt introduse sau definite de utilizator. În acest caz, parantezele unghiulare nu sunt introduse.
  • Ce este Scilab

    Scilab este un sistem de algebră computerizată pe platformă (SCA) care are sintaxa limbajului construit similar cu Matlab. Dezvoltarea sistemului Scilab este realizată de personalul Institutului Național de Informatică și Automatizare din Franța (INRIA - Institutul Național de Recuperare și Informatică și Automatizare) din anii 80 ai secolului trecut.







    Sistemul Scilab, ca și Matlab, este conceput în primul rând pentru calcule numerice și pentru lucrul cu matrice. În plus, dispune de instrumente avansate de programare (inclusiv un program de depanare a script-urilor), astfel încât să poată fi privit într-o oarecare măsură ca un sistem pentru dezvoltarea de aplicații de înaltă tehnologie.

    Pentru sistemul există un număr suficient de mare de pachete de extensie, care pot fi găsite pe site-ul oficial în secțiunea Toolbox. Cu toate acestea, cu cât există mai multe pachete bune, cu atât este mai util sistemul devine. Prin urmare, vă sugerăm să vă familiarizați cu programarea în Scilab și cum să creați pachete de extensie pentru acest SKA.

    În această serie de articole, nu ne vom ocupa de execuția calculelor în Scilab, nici de funcțiile încorporate și parametrii lor. Aceste informații pot fi găsite pe Internet (consultați secțiunea "Resurse"), precum și în materialele de ajutor ale sistemului în sine. Vom studia direct programarea în Scilab.

    O parte a programului Scilab în scilab

    Fișier - aici sunt comenzile standard pentru lucrul cu fișierele: deschideți (Deschideți), închideți (Închideți fișierul), salvați (Salvați) etc., precum și comenzi pentru importarea fișierelor funcționale din formatul Matlab și generarea de materiale de ajutor.

    Căutați - aici sunt funcțiile căutării după text.

    Debug - conține comenzi pentru organizarea și executarea de depanare, cum ar fi breakpoint de incluziune (breakpoint), se adaugă variabile la pagini urmărite (ceas), setarea funcției de pornire, etc. Din păcate, Scilab 5.1 modul activ nu este disponibil din cauza prezenței unor erori nerezolvate ...

    Schema - comenzi pentru controlul evidențierii sintaxelor.

    Fereastră - comenzi pentru gestionarea ferestrei de lucru. Permiteți să împărțiți fereastra în părți verticale și orizontale și să aranjați amplasarea unor părți ale ferestrei.

    Salvarea, încărcarea și executarea scripturilor de utilizator

    Salvați scriptul creat cu ajutorul elementelor de meniu Fișier:

    • Fișier> Salvare - salvați scriptul;
    • Fișier> Salvare ca - salvați scriptul sub un alt nume;
    • Fișier> Salvați tot - salvați toate scripturile deschise.

    Pentru a deschide un fișier script, trebuie să executați fișierul> Deschidere, apoi să mergeți la directorul cu fișierul necesar, să îl selectați și să faceți clic pe butonul Deschidere. În plus, meniul Fișier conține în sine o listă cu cele mai recent deschise fișiere.

    Pentru a testa o funcție, trebuie să fie trecută în fereastra principală Scilab (consola). Pentru a face acest lucru, trebuie să utilizați meniul Execute, care are trei elemente:

    • Încărcați în Scilab - încărcați scriptul curent în Scilab;
    • Încărcați toate în Scilab - încărcați toate scripturile deschise în Scilab;
    • Evaluați selecția - executați numai linii selectate în consola Scilab.

    Construcții standard construite în limbaj

    Limba încorporată Scilab este un limbaj de programare structurat care, spre deosebire de Matlab, nu are instrumente pentru lucrul cu obiecte. Codul executabil este plasat în funcții. Într-un fișier pot exista mai multe funcții. Cu toate acestea, atunci când dezvoltați pachete de extensie, este obișnuit să stocați fiecare funcție într-un fișier separat.

    Variabilele nu sunt descrise, ci sunt create prin atribuirea unei valori inițiale, de exemplu:

    Variabilele din Scilab nu au o tastare strictă, adică dacă variabila conținea un text, atunci în pasul următor puteți scrie un număr în ea și apoi o valoare logică. Scilab monitorizează tipul de potrivire numai atunci când evaluează valorile expresiei.

    Datorită rădăcinilor Unix ale sistemului, cazul literelor din numele variabilei este important, de exemplu:







    Variabilele create în cadrul unei funcții sunt locale și acționează numai în cadrul acestei funcții. Variabilele create în spațiul înainte de începerea funcției sunt globale și sunt disponibile în toate funcțiile acestui fișier sau în sesiunea de lucru curentă.

    Din exemplul de mai sus este clar că în cazul general, descrierea funcției arată astfel:

    Dacă funcția are doar un singur parametru de ieșire, ea nu poate fi închisă în paranteze pătrate, dacă există mai multe, acestea sunt închise în paranteze și sunt enumerate prin virgule.

    Procesul liniar de calcul

    Creați un standard, pentru începători pentru a programa, o funcție care să salute toată lumea după nume:

    Iată un exemplu al acestei funcții:

    Acum, să nu specificăm o valoare ca parametru de intrare, ci o serie de valori:

    Scilab sa confruntat cu acest lucru, dar, mai important, nu a emis nici un avertisment că parametrul de intrare este un matrice. Prin urmare, atunci când creați o funcție, amintiți-vă întotdeauna că parametrul de intrare poate fi o matrice și, în cazuri critice, ar trebui să efectuați o verificare a dimensiunii matricei.

    În scripturile utilizatorilor, puteți utiliza orice funcții terță parte care fac parte din sistemul Scilab sau pachetele de extensie. Următoarele simboluri de acțiune sunt utilizate: + (adăugare), - (scădere), * (înmulțire), / (diviziune), ^ (exponentiere), '(transpunere). Inițial, aceste operațiuni servesc la realizarea acțiunilor matricei în conformitate cu regulile matricei algebre. De exemplu:

    Aici se face o încercare de a multiplica două linii, dar în conformitate cu regulile matricei algebre nu se poate face acest lucru. Una dintre linii trebuie să fie transpusă pentru a face o coloană. În plus, conform regulilor algebrei matricei, ordinea factorilor este importantă:

    Pentru a efectua multiplicarea elementului cu două elemente, este necesar să folosiți semnul acțiunii elementare, adică punctul (punctul și semnul de acțiune sunt scrise împreună, fără spațiu) înainte de semnul de acțiune:

    Același lucru se aplică tuturor celorlalte acțiuni, cu excepția operațiunii de transpunere.

    Operatori de ramificație

    Acum creăm o funcție pentru calcularea logaritmului unui număr pe o bază arbitrară:

    Cu toate acestea, așa cum este cunoscut un logaritm al bazei b este semnificativă numai atunci când condițiile de: a, b> 0, a ≠ 1. impune o condiție suplimentară: parametrii de intrare trebuie să fie valori scalare, adică nu vectori sau matrice ... O funcție nu conduce la concluzia că un mesaj de eroare sau de un accident de sistem, datele de intrare trebuie să fie verificate pentru corectitudine. Acest lucru se poate face prin intermediul unei declarații condiționată, forma generală a care este prezentată mai jos:

    Să scriem un nou tip de funcție cu verificarea corectitudinii datelor de intrare:

    Acest fragment de cod folosește funcția sau ([array of conditions]), care returnează rezultatul aplicării operației logice OR la ​​toate condițiile enumerate în parantezele pătrate. Similar cu funcția și ([listă condiție]), care returnează rezultatul aplicării funcției AND la toate elementele listării condițiilor. Cu toate acestea, puteți utiliza operațiile standard C ++, adică, - Și, - SAU.

    De asemenea, eroarea funcției (<сообщение>). Această funcție oprește calculul și îi spune utilizatorului că a apărut o eroare și indică numele și șirul funcției în care a apărut eroarea. O soluție mai ușoară poate fi folosirea avertismentelor (avertisment), care vă permit să afișați un mesaj despre problemele care au apărut, dar calculele nu se opresc aici. Modul de utilizare este simplu:

    Uneori devine necesar să se efectueze anumite acțiuni în funcție de valoarea unei anumite variabile. Dacă tipul acestei variabile este enumerabil, adică variabila poate lua un număr finit de valori, atunci puteți utiliza operatorul cu mai multe opțiuni. Vederea generală a acestui operator este prezentată mai jos:

    Cu alte cuvinte, în antetul operatorului cu mai multe opțiuni este specificată o variabilă de tip enumerată, atunci este specificat unul dintre variantele (caz) valorii variabile și este executată o acțiune corespunzătoare acestei valori. Trebuie remarcat faptul că cuvântul de serviciu trebuie să fie pe aceeași linie cu cuvântul cuvânt.

    De exemplu, luați în considerare o funcție care primește cantitatea de informații în bytes și indică numele celei mai mari unități de măsură. Pentru a economisi spațiu, ne limităm la nouă cifre:

    Pentru a organiza calcule repetitive în Scilab, există două tipuri standard de bucle: for (for) și conditional (while). Primul este folosit în cazurile în care numărul de repetări ale corpului ciclului este cunoscut în prealabil, al doilea este în caz contrar.

    Forma generală a operatorului ciclului de numărare este următoarea:

    Orice poate să acționeze ca o expresie. Dacă expresia este un vector (matrice), atunci variabila-contor ia secvențial toate valorile acestui vector (matrice). Dacă vă amintiți cum sunt create matrici de valori în Scilab, puteți aduce acest construct la standardul pentru buclă pentru toate limbile de programare:

    Luați în considerare funcția pe care am descris-o, ediția. Dacă intrarea în ea nu este o valoare, ci mai multe, atunci, indiferent de numărul de elemente, va fi rezultatul unui singur rezultat absolut incorect:

    Problema este că Scilab încearcă să traducă în linie toate matricele dintr-o dată. Prin urmare, lungimea șirului este foarte mare. Prin urmare, este necesar să se ia în considerare fiecare dintre elementele. Aceasta poate ajuta operatorul de numărare a buclăi:

    Pe lângă utilizarea instrucțiunii for pentru buclă for, codul funcției are o variabilă i pentru a numerota elementele rezultate, iar variabila rezultat este închisă în paranteze pătrate pentru a arăta că rezultatul este un matrice. De asemenea, este posibilă pornirea funcției:

    Cu toate acestea, în această etapă, funcția nu este perfectă, deoarece numărul este tradus în șir în aceeași formă ca și în care este afișat, iar acesta este un maxim de nouă elemente și nu vom obține niciodată rezultatul "Mult". Prin urmare, este mai bine să numărați pur și simplu numărul de cifre dintr-un număr. În acest moment, bucla în timp ce ne va ajuta. Vizualizare generală a acestui operator:

    În timp ce rezultatul evaluării expresiei este True, bucla este executată. Pentru a separa expresia condiției de corpul bucla, puteți folosi cuvintele cheie și apoi faceți clic pe ele, dar ele trebuie să se afle pe aceeași linie cu timpul. În plus, înainte de sfârșit, puteți introduce alt bloc, ale cărui instrucțiuni vor fi executate după ce expresia condiției devine falsă (False).

    Deci, în loc de șiruri de caractere

    puteți introduce următoarele:

    Versiunea finală a funcției poate fi descărcată de la linkul din secțiunea Descărcare.

    concluzie







    Articole similare

    Trimiteți-le prietenilor: