Elementele de bază ale lucrului în scilab

Termeni de bază
Scilab (citiți Saylab) - un pachet de programe matematice aplicate, care oferă un mediu deschis puternic pentru inginerie (tehnice) și calcule științifice.






CeCILL (de la «CEA CNRS INRIA Logiciel Libre») - licență pentru software-ul gratuit, adaptat la legea internaționalistă și legea franceză, o astfel de licență GNU General Public și își păstrează compatibilitatea cu acestea.
Se utilizează un sistem de ecuații algebrice lineare cu n necunoscute (sau, sistem liniar, abrevierea SLAE) în algebra liniară este un sistem de ecuații de formă

Ecuațiile diferențiale obișnuite (ODE) reprezintă o ecuație diferențială a formei

unde - funcție necunoscută (funcție, eventual, cu valori vectoriale, atunci, de regulă, de asemenea, o funcție cu valori vectoriale cu valori în spațiul aceeași dimensiune, în acest caz, vorbim de un sistem de ecuații diferențiale), care depinde de variabila independentă, prim denotă o diferențiere în ceea ce privește. Numărul (ordinea celui mai mare derivat care intră în ecuația dată) se numește ordinea ecuației diferențiale (1)

1. Sistemul de matematică informatică SciLab: Istoria dezvoltării. Oportunități și caracteristici cheie. Avantaje și dezavantaje.

Scilab conține sute de funcții matematice și există posibilitatea de a adăuga altele noi în diferite limbi (C, C ++, Fortran etc.). Există, de asemenea, diferite structuri de date (liste, polinoame, funcții raționale, sisteme liniare), un interpret și un limbaj de nivel înalt.
Scilab a fost conceput ca un sistem deschis, iar utilizatorii pot adăuga la acesta tipurile și operațiunile de date prin supraîncărcare.
Multe instrumente sunt disponibile în sistem:
Grafica 2D și 3D, animație
Liniar algebră, matrice rare
Funcții polinomiale și raționale
Interpolare, aproximare
Simulare: soluția ODE și DM
Scicos: un sistem hibrid pentru modelarea sistemelor dinamice și a simulărilor
Optimizări diferențiale și nediferențiale
Procesarea semnalelor
Operație paralelă
statistică
Lucrul cu algebra computerului
Interfață la Fortran, Tcl / Tk, C, C ++, Java, LabVIEW
Scilab are un limbaj de programare similar cu MATLAB. Pachetul include un utilitar care vă permite să convertiți documentele Matlab în Scilab.
Scilab permite lucrul cu elementare și un număr mare de funcții speciale (Bessel, Neumann, funcția integrală) dispune de instrumente puternice pentru a lucra cu matrici, polinoame (inclusiv simbolic), produc calcul numeric (de exemplu, integrarea numerică) și soluția problemelor de algebră liniară optimizare și simulare, funcții statistice puternice, precum și un instrument pentru construirea și lucrul cu diagrame.
Pentru calculele numerice, se folosesc bibliotecile Lapack, LINPACK, ODEPACK, Atlas și altele.
Pachetul include, de asemenea, Scicos - un instrument de editare a diagramelor bloc și a simulărilor (simulink analog în pachetul MATLAB). Este posibil să lucrați împreună cu Scilab împreună cu programul LabVIEW.

Caracteristici cheie
Diferențe față de unele programe comerciale:
Gratuit.
Gratuit (de la versiunea 5.0).
O mărime mică - distribuția versiunii 4 a avut mai puțin de 20 MB față de pachetul MATLAB de mai mult de 2 gigabyte. Instalatorul versiunii 5 (5.4.0) a crescut în volum până la 108 MB.
Abilitatea de a rula în consola fără a utiliza o interfață grafică, inclusiv versiunea în Windows (în versiunile UNIX și Windows ale MatLab, această caracteristică este de asemenea prezentă). Acest lucru vă permite să efectuați calcule automate, există un mod de lot.

Avantaje și dezavantaje
Căutarea demnității și a deficiențelor pe Internet nu a dat naștere la nimic. Așa că vă voi spune despre ceea ce m-am remarcat.
Dacă vorbim despre merite, atunci cel mai de bază pentru mine este liber de acest pachet, în comparație cu același Matematic, când să efectueze munca de laborator a trebuit să caute un serial sau o fisură. În continuare - este cross-platformă, pentru că Prefer să folosesc Gentoo mai degrabă decât Windows. În principiu, majoritatea avantajelor sunt descrise în secțiunea Caracteristici cheie.
Printre deficiențele văd doar 2: Acesta nu este un software de vizualizare în Matematic, precum și sistemul utilizează metode numerice de calcul în primul rând, care pot afecta precizia.

2. Elementele de bază ale lucrului în SciLab. Variabile personalizate și de sistem. Expresii matematice. comentarii

Înainte de a continua, luați în considerare interfața însăși. Când rulați, se deschide fereastra de comandă.

Elementele de bază ale lucrului în scilab

Există 2 opțiuni funcționează: 1 - este de lucru în aceeași fereastră de comandă, 2 - SciNotes deschise (ceva de genul un notebook cu iluminare din spate) în cazul în care este posibil să se scrie cod care este rulat mai târziu, punerea în aplicare va avea ca rezultat într-o fereastră de comandă.

De exemplu, mă uit la producția mondială Hellow.

Linie de comandă. Utilizați funcția de afișare disp ()

Elementele de bază ale lucrului în scilab

Când lucrați în SciNotes, veți obține ceva similar

pentru a executa codul, trebuie să faceți clic pe săgeata dreapta :) (ca în multe medii de dezvoltare)
sau Executarea-> ... fără a afișa comenzi
în principiu, puteți utiliza alte metode de execuție și nu utilizați ieșirea pe ecran






Rezultatul va fi:

deoarece putem spune că interfața este studiată, atunci voi ieși codul și rezultatul executării

SciLab este sensibil la registru, adică A și a sunt variabile variabile diferite.

Operații de bază:
+ plus
- scăderea
* multiplicare
/ diviziune pe dreapta, adică x / y = xy ^ (- 1)
Diviziunea din stânga, adică xy = x ^ (- 1) y
^ exponentiation, adică x ^ y
** exponentiation (echivalent cu ^)
Conjugarea hermitiană (conjugare complexă și transpunere)

Funcții matematice elementare.

acos acosd acos acoshm acosm acot acotd acot
acsc acscd acsch asec asecd asech și asind
asinh asinm atan și atanh atanhm atanm
cos cosm cosm cosm cosm cotg cotg cota
cothc csc cscd sec șt sec sinch sin
sinc sind Sinh sinhm Sinm tan tand tanh
tanhm tanm
log exp log log10 log log p log2 log max
maxi min mini modulo pmodulo semn semn sqrt
sqrtm

y = int8 (x) numărul de 8 biți cu semnul [-2 ^ 7; (2 ^ 7) -1] = [-128; 127]
y = uint8 (x) Numărul nesemnat pe 8 biți [0; (2 ^ 8) -1] = [0; 255]
y = int16 (x) numărul de 16 biți cu semnul [-2 ^ 15; (2 ^ 15) -1] = [-32768; 32767]
y = uint16 (x) număr nesemnificativ de 16 biți [0; (2 ^ 16) -1] = [0; 65535]
y = int32 (x) numărul de 32 de biți cu semnul [-2 ^ 31; (2 ^ 31) -1] = [-2147483648; 2147483647]
y = uint32 (x) număr nesemnificativ de 32 de biți [0; (2 ^ 32) -1] = [0; 4294967295]

conversia iconvert la reprezentarea întregului
inttype definirea întregului tip

Cea mai simplă modalitate de a apela o funcție personalizată:

outvar = funcția mea (invar)

parantezele pătrate "[" și "]" reprezintă începutul și sfârșitul enumerării
elemente ale matricei,
virgulă "," separă elementele matricei, situate într-o singură linie,
punct și virgulă ";" separă rândurile matricei.

dimensiunea determină dimensiunea matricei
Matricea de redimensionare a matricei
resize_matrix crea o nouă matrice de mărime și copie specificată
în ele sunt elemente din matricea originală

Operații matrice:
Accesul la elementele de matrice
i = 1; 2 și j = 3; 4
pentru aceasta luăm o matrice deja pregătită

--> A = matrice de testare ("hilb", 5)
A =
25 - 300, 1050, - 1400, 630.
- 300. 4800. - 18900. 26880. - 12600.
1050.-18900, 79380, 117600, 56700.
- 1400. 26880. - 117600. 179200. - 88200.
630.-12600, 56700.-88200, 44100.
--> A (1: 2, 3: 4)
ans =
1050 - 1400.
- 18900. 26880

O matrice ca un întreg
A (.) Întreg matrice
A (i: j, k) ale matricei în coloana k de la rândul i la linia j
A (i, j: k) elemente ale matricei din rândul i de la coloana j la coloana k
A (i, :) Cel de al doilea rând al matricei
A (:, j) coloana j a matricei

Generarea matricei de identitate

Operații Matrix
+ plus + adaugare elementară
- scăderea elementară
* Multiplicarea. * Multiplicare Element înțelept
/ diviziune pe dreapta ./ diviziune elementară pe dreapta.
în partea stângă. diviziune elementală în stânga
^ sau * exponentiation: ^ exponentiation elemental
Conjugarea hermitiană (conjugare complexă și transpunere)
.Transpunere fără conjugare

exemplu de multiplicare a unui număr cu o matrice de unități de 2 pe 2

5. Definirea matricelor unidimensionale și multidimensionale. Funcții Matrix speciale

funcții matrice
chol descompunerea lui Cholesky
matricea de însoțire a companionului
cond condiție numărul
det determinantul matricei
inv inversă matrice
soluția linsolve a sistemelor de ecuații liniare
Metoda lsq a celor mai mici pătrate
lu LU-descompunere cu alegerea elementului de susținere
qr descompunere QR
numărul de condiție inversă
valorile proprii și vectorii
svd numărul singular extinderea matricei
generarea testmatrix a matricelor speciale (Hilbert, Frank, etc.)
urmăriți următoarea matrice

6. Definirea matricelor unidimensionale și multidimensionale. Soluția SLAU. Caracterele de caractere și operațiile pe ele

Textul fișierului script cu soluția problemei de formulele lui Cramer

--> A = [2 1 -5 1; 1 -3 0 -6; 0 2 -1 2; 1 4 -7 6]; // Matricea coeficienților
--> b = [8; 9; -5; 0]; // Vector al coeficienților liberi
--> Prima matrice auxiliară
--> A1 = A; A1 (:, 1) = b;
--> // A doua matrice auxiliară
--> A2 = A; A2 (: 2) = b;
--> // A treia matrice auxiliară
--> A3 = A; A3 (:, 3) = b;
--> // A patra matrice auxiliară
--> A4 = A; A4 (: 4) = b;
--> // Principalul determinant este nenulul
--> D = det (A);
--> // Identificatori ai matricelor auxiliare
--> d (1) = det (A1);
--> d (2) = det (A2);
--> d (3) = det (A3);
--> d (4) = det (A4);
--> // Vector de necunoscute
--> x = d / D
x =
3.
- 4.
- 1.
1.
--> / / Verificați
--> P = A * x-b
P =
0.
0.
- 8.882D-16
2.665D-15

Soluția sistemului prin metoda Gauss

--> A = [2 -1 1; 3 2 -5; 1 3 -2];
--> b = [0; 1; 4];
--> Introducerea matricei extinse într-o formă triunghiulară
--> C = rref ([Ab]);
--> Selectați ultima coloană din matrice,
--> // x este soluția sistemului
--> x = C (1: 3,4: 4)
x =
0.4642857
1.6785714
0,75
--> A * x // Verificați
ans =
- 5,551D-16
1.
4.

7. Integrarea numerică. Abordări ale integrării. Integrarea funcțiilor definite de utilizator

Integrarea numerică (denumirea istorică: cvadratură (numerică)) - calculul valorii unui integral definitiv (de regulă, aproximativ). Prin integrare numerică înțelegem un set de metode numerice pentru găsirea valorii unui integral definitiv.
Integrarea prin metoda trapezelor
integrați funcția, rădăcina de 2 * x-1 pe intervalul de la 1 la 10, cu o împărțire în 1 pas

--> x = 1: 10
x =
1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
--> y = sqrt (2 * x-1)
y =
coloanele 1 până la 6
1. 1.7320508 2.236068 2.6457513 3. 3.3166248
coloanele 7-10
3.6055513 3.8729833 4.1231056 4.3588989
--> intrac (x, y)
ans =
27.211585

Formulele de cvadratură ale lui Newton Cotesa

8. Diferențierea numerică. Abordări la diferențiere.

Diferențierea numerică este un set de metode pentru calcularea valorii derivatului unei funcții discrete.
Baza diferențierii numerice este aproximarea funcției, de la care derivă derivatul, prin polinomul de interpolare. Toate formulele de bază pentru diferențierea numerică poate fi preparat prin Newton polinom de interpolare (formula Newton pentru începutul tabelului).
în acest punct

v = 0: 3;
--> numdiff (my, v)
ans =
17. 0. 0. 0.
0. 32. 0. 0.
0. 0. 52.999999 0.
0. 0. 0.80.000002

--> funcția f1 = my1 (x), f1 = 3 * (x + 2) ^ 2 + 5, funcția finală;
--> my1 (v)
ans =
17. 32. 53. 80.

9. Soluția ODE cu ajutorul SciLab. Funcțiile utilizate pentru rezolvarea TAC. Soluția problemelor de valoare limită.

Există 4 moduri de a rezolva ODE:
1. Folosind comanda ode, care este un solver pentru rezolvarea ordinii
ecuația diferențială.
2. Folosind comanda odedc, care calculeaza solutia unei solutii mixte discrete-
sistem continuu.
3. Comanda dassl, care oferă o soluție la o ecuație diferențială exprimată implicit.
4. Folosind comanda impl, care dă o soluție liniarei implicite
ecuația diferențială.

--> y0 = 1;
--> t0 = 1;
--> t = 1: 0,01: 1,5;
--> deff ("[ydot] = f (t, y)", "ydot = y ^ (1/3) * t")
--> y = ode (y0, t0, t, f);
--> y_exact = ((t ^ 2 + 2) / 3) ^ (1.5); // aceasta este funcția soluției corecte de comparare
--> my_er = y-y_exact;
--> grafic (t, y-y_exact) // acesta este graficul erorii de calcul din argumentul t

rezultatul este un program

Elementele de bază ale lucrului în scilab

pentru unul puteți vedea fereastra grafică. Construcția graficelor va fi discutată în detaliu mai târziu.

10. Construirea de grafice bidimensionale în sistemul SciLab. Principalele funcții și tipuri de grafice.

Funcția plot
ia în considerare un exemplu:

După cum puteți vedea primul parametru al funcției este un segment și a doua funcție
deoarece există posibilitatea de a desena mai multe funcții simultan, dacă sunt enumerate:







Articole similare

Trimiteți-le prietenilor: