9. notiuni de scilab - apar.pub.ro · notiuni de scilab 9.1. ... între 0 si 1 rand ones matrice ce...
TRANSCRIPT
![Page 1: 9. Notiuni de Scilab - apar.pub.ro · Notiuni de Scilab 9.1. ... între 0 si 1 rand ones Matrice ce contine doar elemente unitate zeros Matrice ce contine doar elemente nule. 9.1.6](https://reader030.vdocuments.site/reader030/viewer/2022040705/5e03eeb6b7045372372f0409/html5/thumbnails/1.jpg)
9. Notiuni de Scilab
9.1. Funcţii Scilab de baza
9.1.1. Comenzi de intrare
a) Click pe
Start->Programs->Scilab
![Page 2: 9. Notiuni de Scilab - apar.pub.ro · Notiuni de Scilab 9.1. ... între 0 si 1 rand ones Matrice ce contine doar elemente unitate zeros Matrice ce contine doar elemente nule. 9.1.6](https://reader030.vdocuments.site/reader030/viewer/2022040705/5e03eeb6b7045372372f0409/html5/thumbnails/2.jpg)
9.1.1. Comenzi de intrare
b) Dublu click peScilab icon pe desktop
c) etc.
![Page 3: 9. Notiuni de Scilab - apar.pub.ro · Notiuni de Scilab 9.1. ... între 0 si 1 rand ones Matrice ce contine doar elemente unitate zeros Matrice ce contine doar elemente nule. 9.1.6](https://reader030.vdocuments.site/reader030/viewer/2022040705/5e03eeb6b7045372372f0409/html5/thumbnails/3.jpg)
9.1.2. Fereastra Scilab principala
![Page 4: 9. Notiuni de Scilab - apar.pub.ro · Notiuni de Scilab 9.1. ... între 0 si 1 rand ones Matrice ce contine doar elemente unitate zeros Matrice ce contine doar elemente nule. 9.1.6](https://reader030.vdocuments.site/reader030/viewer/2022040705/5e03eeb6b7045372372f0409/html5/thumbnails/4.jpg)
9.1.3. Comenzi de iesire
a) --> quit
b) --> exit
c) click pe
![Page 5: 9. Notiuni de Scilab - apar.pub.ro · Notiuni de Scilab 9.1. ... între 0 si 1 rand ones Matrice ce contine doar elemente unitate zeros Matrice ce contine doar elemente nule. 9.1.6](https://reader030.vdocuments.site/reader030/viewer/2022040705/5e03eeb6b7045372372f0409/html5/thumbnails/5.jpg)
9.1.4. Functia help
a) --> help plot
b) --> apropos plot
c) click pe …
d) click pe …
![Page 6: 9. Notiuni de Scilab - apar.pub.ro · Notiuni de Scilab 9.1. ... între 0 si 1 rand ones Matrice ce contine doar elemente unitate zeros Matrice ce contine doar elemente nule. 9.1.6](https://reader030.vdocuments.site/reader030/viewer/2022040705/5e03eeb6b7045372372f0409/html5/thumbnails/6.jpg)
9.1.5. Definirea unei matrice
--> A=[1 2 3;2 1 3;3 3 3]
A =! 1. 2. 3. !! 2. 1. 3. !! 3. 3. 3. !
-->A=[ 1 2 3-->2 1 3-->3 3 3 ]
A =! 1. 2. 3. !! 2. 1. 3. !! 3. 3. 3. !
--> B=[2 1 3 5];--> B
B =! 2. 1. 3. 5. !
--> C=1:5
C =! 1. 2. 3. 4. 5. !
![Page 7: 9. Notiuni de Scilab - apar.pub.ro · Notiuni de Scilab 9.1. ... între 0 si 1 rand ones Matrice ce contine doar elemente unitate zeros Matrice ce contine doar elemente nule. 9.1.6](https://reader030.vdocuments.site/reader030/viewer/2022040705/5e03eeb6b7045372372f0409/html5/thumbnails/7.jpg)
9.1.5. Definirea unei matrice - continuare
Matrice diagonalădiag
Matrice cu elemente nule, cu exceptia diagonalei principale ce contine elemente unitate
eye
Matrice cu elemente aleatoare, uniform distribuite, cuprinse între 0 si 1
rand
Matrice ce contine doar elemente unitateones
Matrice ce contine doar elemente nulezeros
![Page 8: 9. Notiuni de Scilab - apar.pub.ro · Notiuni de Scilab 9.1. ... între 0 si 1 rand ones Matrice ce contine doar elemente unitate zeros Matrice ce contine doar elemente nule. 9.1.6](https://reader030.vdocuments.site/reader030/viewer/2022040705/5e03eeb6b7045372372f0409/html5/thumbnails/8.jpg)
9.1.6. Funcţii de analiză matriceală
Calculează urma unei matrice sau suma elementelor de pe diagonala principală
trace
Calculează inversa unei matrice inv
Calculează determinantul unei matricedet
Numărul de conditionare al unei matricecond
DescriereFunctie
Not a number%nan
Infinit%inf
2.7182818 …%e
Precizia relativă în virgulă mobilă 2.22.10-16%eps
sqrt(-1)%i
3.14159265...%pi
9.1.7. Constante predefinite
![Page 9: 9. Notiuni de Scilab - apar.pub.ro · Notiuni de Scilab 9.1. ... între 0 si 1 rand ones Matrice ce contine doar elemente unitate zeros Matrice ce contine doar elemente nule. 9.1.6](https://reader030.vdocuments.site/reader030/viewer/2022040705/5e03eeb6b7045372372f0409/html5/thumbnails/9.jpg)
Transpusa neconjugată complex.’
Ridicare la putere element cu element.^
Împărtire la stânga element cu element.\
Împărtire la dreapta element cu element./
Înmultire element cu element.*
Pentru ordinea operatiilor( )
Transpusa complex conjugată’
Ridicare la putere^
Împărtire la stânga\
Împărtire la dreapta/
Înmultire*
Scădere-
Adunare+
OperatieOperator
9.1.8. Operatii de baza cu matrice
![Page 10: 9. Notiuni de Scilab - apar.pub.ro · Notiuni de Scilab 9.1. ... între 0 si 1 rand ones Matrice ce contine doar elemente unitate zeros Matrice ce contine doar elemente nule. 9.1.6](https://reader030.vdocuments.site/reader030/viewer/2022040705/5e03eeb6b7045372372f0409/html5/thumbnails/10.jpg)
9.1.9. Operatori relationali
Diferit de~ =
Egal cu= =
Mai mare sau egal cu>=
Mai mare decât>
Mai mic sau egal cu<=
Mai mic decât<
DescriereOperator
9.1.10. Operatori logici
Negatie logica~
Sau logic|
Si logic&
DescriereOperator
![Page 11: 9. Notiuni de Scilab - apar.pub.ro · Notiuni de Scilab 9.1. ... între 0 si 1 rand ones Matrice ce contine doar elemente unitate zeros Matrice ce contine doar elemente nule. 9.1.6](https://reader030.vdocuments.site/reader030/viewer/2022040705/5e03eeb6b7045372372f0409/html5/thumbnails/11.jpg)
9.2. Funcţii Scilab de reprezentare grafica
9.2.1. Reprezentarea graficelor 2D
TrasareTrasarex = 0:%pi/100:2*%pi;y = sin(x);plot2d(x, y);
![Page 12: 9. Notiuni de Scilab - apar.pub.ro · Notiuni de Scilab 9.1. ... între 0 si 1 rand ones Matrice ce contine doar elemente unitate zeros Matrice ce contine doar elemente nule. 9.1.6](https://reader030.vdocuments.site/reader030/viewer/2022040705/5e03eeb6b7045372372f0409/html5/thumbnails/12.jpg)
9.2.1. Reprezentarea graficelor 2D - continuare
EtichetareEtichetare sisi gridgridxtitle('graficul functiei sinus', 'timp', 'sinus')xgrid(2)
culoarea gridului
![Page 13: 9. Notiuni de Scilab - apar.pub.ro · Notiuni de Scilab 9.1. ... între 0 si 1 rand ones Matrice ce contine doar elemente unitate zeros Matrice ce contine doar elemente nule. 9.1.6](https://reader030.vdocuments.site/reader030/viewer/2022040705/5e03eeb6b7045372372f0409/html5/thumbnails/13.jpg)
9.2.1. Reprezentarea graficelor 2D - continuare
TrasareaTrasarea functiilorfunctiilor multiple multiple pepe acelasiacelasi graficgraficx=[0:0.1:2*%pi]';plot2d(x, [sin(x) sin(2*x) sin(3*x)]);
![Page 14: 9. Notiuni de Scilab - apar.pub.ro · Notiuni de Scilab 9.1. ... între 0 si 1 rand ones Matrice ce contine doar elemente unitate zeros Matrice ce contine doar elemente nule. 9.1.6](https://reader030.vdocuments.site/reader030/viewer/2022040705/5e03eeb6b7045372372f0409/html5/thumbnails/14.jpg)
9.2.2. Reprezentarea suprafetelor - continuare
TrasareaTrasarea graficuluigraficului functieifunctiei sin(x)cos(ysin(x)cos(y) in ) in intervalulintervalul [[--pi,pipi,pi]]t=(t=(--%pi:0.1:%pi); plot3d(t, t, %pi:0.1:%pi); plot3d(t, t, sin(tsin(t)'*)'*cos(tcos(t), 35, 45, 'X@Y@Z');), 35, 45, 'X@Y@Z');
![Page 15: 9. Notiuni de Scilab - apar.pub.ro · Notiuni de Scilab 9.1. ... între 0 si 1 rand ones Matrice ce contine doar elemente unitate zeros Matrice ce contine doar elemente nule. 9.1.6](https://reader030.vdocuments.site/reader030/viewer/2022040705/5e03eeb6b7045372372f0409/html5/thumbnails/15.jpg)
9.2.1. Reprezentarea suprafetelor - continuare
TrasareaTrasarea graficuluigraficului functieifunctiei sin(x)cos(ysin(x)cos(y) in ) in intervalulintervalul [[--pi,pipi,pi]]t=(t=(--%pi:0.1:%pi); plot3d1(t, t, %pi:0.1:%pi); plot3d1(t, t, sin(tsin(t)'*)'*cos(tcos(t), 35, 45, 'X@Y@Z');), 35, 45, 'X@Y@Z');
![Page 16: 9. Notiuni de Scilab - apar.pub.ro · Notiuni de Scilab 9.1. ... între 0 si 1 rand ones Matrice ce contine doar elemente unitate zeros Matrice ce contine doar elemente nule. 9.1.6](https://reader030.vdocuments.site/reader030/viewer/2022040705/5e03eeb6b7045372372f0409/html5/thumbnails/16.jpg)
9.2.1. Reprezentarea graficelor 2D - continuare
TrasareaTrasarea functieifunctiei sin(x)cos(ysin(x)cos(y) in ) in intervalulintervalul [[––pi,pipi,pi]]h2=hotcolormap(512);h2=hotcolormap(512);
xset('colormap',h2(100:$,:));xset('colormap',h2(100:$,:));
t=(t=(--%pi:%pi:0.30.3:%pi);:%pi);plot3d1plot3d1(t, t, (t, t, sin(tsin(t)'*)'*cos(tcos(t), 35, 45, 'X@Y@Z');), 35, 45, 'X@Y@Z');
![Page 17: 9. Notiuni de Scilab - apar.pub.ro · Notiuni de Scilab 9.1. ... între 0 si 1 rand ones Matrice ce contine doar elemente unitate zeros Matrice ce contine doar elemente nule. 9.1.6](https://reader030.vdocuments.site/reader030/viewer/2022040705/5e03eeb6b7045372372f0409/html5/thumbnails/17.jpg)
9.3. Notiuni de programare Scilab
9.3.1. Fisiere de tip *.sci sau *.sce
-Fisierele de tip *.sci sau *.sce sunt fisiere ce contin secvente de instructiuni Scilab executate succesiv si pot fi de tip script sau de tip function
FisiereFisiere de tip scriptde tip script-Fisierele de tip script pot apela fisiere de tip function -Fisierele de tip script nu pot fi apelate de alte fisiere de tip script sau de altefisiere de tip function
FisiereFisiere de tip functionde tip function-Sunt fisiere care spre deosebire de fisierele script admit parametri de intrare
- Sintaxa unui fisier de tip function este :
functionfunction [par_iesire1, par_iesire2 ...] = nume_funcnume_functtieie(par_intrare1, par_intrare2 ...)...
endfunctionendfunction
- Dupa executia instructiunilor, nu raman in memorie decat variabilele de iesire- Fisierele de tip function pot sa nu aiba parametrii de iesire sau de intrare
![Page 18: 9. Notiuni de Scilab - apar.pub.ro · Notiuni de Scilab 9.1. ... între 0 si 1 rand ones Matrice ce contine doar elemente unitate zeros Matrice ce contine doar elemente nule. 9.1.6](https://reader030.vdocuments.site/reader030/viewer/2022040705/5e03eeb6b7045372372f0409/html5/thumbnails/18.jpg)
scripttest.sciscripttest.scia=input('Introduceti un numar: ');b=floor(a)^2
lansare in executie
-->exec('D:\scilab\scripttest.sci');
-->a=input('Introduceti un numar: ');Introduceti un numar: -->2-->b=floor(a)^2
b =4.
ftest.sceftest.scefunction [a]=ftest(x)a=real(x) - %i*imag(x);endfunction
lansare in executie
--> exec('D:\scilab\ftest.sce');--> [a] = ftest(2+%i)
a = 2. - i
9.3.1. Fisiere de tip *.sci sau *.sce - exemple
![Page 19: 9. Notiuni de Scilab - apar.pub.ro · Notiuni de Scilab 9.1. ... între 0 si 1 rand ones Matrice ce contine doar elemente unitate zeros Matrice ce contine doar elemente nule. 9.1.6](https://reader030.vdocuments.site/reader030/viewer/2022040705/5e03eeb6b7045372372f0409/html5/thumbnails/19.jpg)
9.3.2. Crearea fisierelor de tip *.sci sau *.sce
- Folosind Scipad - la versiuni recente de Scilab
- Folosind editoare externe Notepad, WordPad cu salvarea fisieruluiin format text
- Fisierele trebuiesc salvate cu extensia .sci sau .sce
![Page 20: 9. Notiuni de Scilab - apar.pub.ro · Notiuni de Scilab 9.1. ... între 0 si 1 rand ones Matrice ce contine doar elemente unitate zeros Matrice ce contine doar elemente nule. 9.1.6](https://reader030.vdocuments.site/reader030/viewer/2022040705/5e03eeb6b7045372372f0409/html5/thumbnails/20.jpg)
9.3.3. Instructiuni de control logic – instructiunea if
SintaxaSintaxaif expresie_logica1 then
instructiuni1elseif expresie_logica2 then
instructiuni2else
instructiuni3end
ExempluExemplua=3;b=3;if a>b then
disp('a este mai mare decât b')elseif b>a then
disp('b este mai mare ca a')else
disp(‘a este egal cu b')end
a este egal cu b
Instructiunea then poate lipsi daca instructiuni1, 2, 3 se scriu pe linii separate
![Page 21: 9. Notiuni de Scilab - apar.pub.ro · Notiuni de Scilab 9.1. ... între 0 si 1 rand ones Matrice ce contine doar elemente unitate zeros Matrice ce contine doar elemente nule. 9.1.6](https://reader030.vdocuments.site/reader030/viewer/2022040705/5e03eeb6b7045372372f0409/html5/thumbnails/21.jpg)
9.3.3. Instructiuni de control logic – instructiunea for
SintaxaSintaxafor index = start:increment:end
instrucţiuni end
ExempluExemplufor i = 1:0.1:1.5
a = iend
a =
1.a =
1.1a =
1.2a =
1.3a =
1.4a =
1.5
![Page 22: 9. Notiuni de Scilab - apar.pub.ro · Notiuni de Scilab 9.1. ... între 0 si 1 rand ones Matrice ce contine doar elemente unitate zeros Matrice ce contine doar elemente nule. 9.1.6](https://reader030.vdocuments.site/reader030/viewer/2022040705/5e03eeb6b7045372372f0409/html5/thumbnails/22.jpg)
9.3.3. Instructiuni de control logic – instructiunea while
SintaxaSintaxawhile expresie_logica
instructiuni end
ExempluExemplun = 1;while prod(1:n) < 10
n = n + 1end
n =2.
n =3.
n =4.
![Page 23: 9. Notiuni de Scilab - apar.pub.ro · Notiuni de Scilab 9.1. ... între 0 si 1 rand ones Matrice ce contine doar elemente unitate zeros Matrice ce contine doar elemente nule. 9.1.6](https://reader030.vdocuments.site/reader030/viewer/2022040705/5e03eeb6b7045372372f0409/html5/thumbnails/23.jpg)
9.3.3. Instructiuni de control logic – instructiunea select
SintaxaSintaxaselect expresie
case expresie1 theninstructiuni1
case expresie2 theninstructiuni2
elseinstructiuni3
end
ExempluExemplun = 1;select n
case 1 thendisp('n este egal cu 1')
case 2 thendisp('n este egal cu 2')
elsedisp('n este diferit de 1 si 2')
end
n este egal cu 1
![Page 24: 9. Notiuni de Scilab - apar.pub.ro · Notiuni de Scilab 9.1. ... între 0 si 1 rand ones Matrice ce contine doar elemente unitate zeros Matrice ce contine doar elemente nule. 9.1.6](https://reader030.vdocuments.site/reader030/viewer/2022040705/5e03eeb6b7045372372f0409/html5/thumbnails/24.jpg)
Stiind ca y(0)=0, sa se rezolve pe intervalul [0, 0.2], urmatoarea ecuatie diferentiala:2.y + 0.013.(dy/dt) =312.sin(314.t)
Pas 1: Se exprima dy/dt = fun(t, y)yp = dy/dt = 312/0.013*sin(314*t)-2/0.013*y
Pas 2: Se defineste functia fun(t, y)--> deff("[yp]=fun(t, y)","yp=312/0.013*sin(314*t)-2/0.013*y");
Pas 2 alternativ: Se defineste si se incarca fisierul de tip functie fun.sci
--> exec('fun.sci') sau getf('fun.sci')
Pas 3: Se calculeaza si se ploteaza functia necunoscuta y(t)--> t0=0; t=0:0.0001:0.2; y0=0; --> y=ode(y0, t0, t, fun);--> plot(t, y);--> xgrid(2)--> xtitle('Curentul de sccurtcircuit al unui transformator', 'timp [s]', 'i1k [A]')
9.4. Rezolvarea ecuatiilor diferentiale
9.4.1. Ecuatii diferentiale de ordinul I - exemplu
function yp = fun(t, y) yp=312/0.013*sin(314*t)-2/0.013*y;
endfunction
fun.sci
![Page 25: 9. Notiuni de Scilab - apar.pub.ro · Notiuni de Scilab 9.1. ... între 0 si 1 rand ones Matrice ce contine doar elemente unitate zeros Matrice ce contine doar elemente nule. 9.1.6](https://reader030.vdocuments.site/reader030/viewer/2022040705/5e03eeb6b7045372372f0409/html5/thumbnails/25.jpg)
9.4.1. Ecuatii diferentiale de ordinul I - exemplu