03 Curs Scilab(15)

20

Click here to load reader

description

curs scilab

Transcript of 03 Curs Scilab(15)

Page 1: 03 Curs Scilab(15)

9. Mediul de programare SCILAB

9.1. Prezentare, instalare, lansare în execuţie, ferestre şi meniuri

SCILAB este un produs dedicat calculului numeric şi reprezentării grafice în domeniul ingineriei, elaborat de Institutul Naţional de Cercetare în Informatică şi în Automatică – INRIA Franţa. SCILAB are trăsături comune cu produsul comercial MATLAB.

Versiunea 4.1.1 a mediului SCILAB (13,6 MB) este disponibilă gratuit pe site-ul http://www.scilab.org şi se instalează printr-o procedură automată, implicit în partiţia activă, directorul X:\Program Files\scilab-4.1.1\bin\WScilex.exe.

Lansarea în execuţie se poate face cu ajutorul pictogramei de pe Desktop, prin butonul Start → Programs → Scilab-4.1.1 → scilab-4.1.1 sau din calea X:\Program Files\scilab-4.1.1\bin – fişierul WScilex.exe.

Fereastra de comenzi - consola (figura 8.1), deschisă la pornirea mediului, conţine elementele: bara de nume; bara de meniuri; bara de unelte; fereastra propriu-zisă cu prompt-ul SCILAB " --> " .

Principalele meniuri cu comenzile lor sunt prezentate în figura 8.2.

17

Fig. 8.1 – Fereastra de comenzi a mediului SCILAB

Fig. 8.2 – Meniurile File, Edit, Preferences şi Control

Page 2: 03 Curs Scilab(15)

Meniurile cu comenzile uzuale şi rolul lor sunt următoarele:

Meniul File: New Scilab deschide o sesiune de comenzi

nouă; Exec permite lansarea în execuţie a unui

subprogram creat şi salvat anterior; Open... permite accesul la un

(sub)program printr-o fereastră SciPad (figura 8.3);

Save... ajută la salvarea unui program cu eventuala stabilire a numelui şi destinaţiei;

Change Directory permite schimarea directorului curent pe durata unei sesiuni;

Exit determină închiderea unei sesiuni de lucru şi terminarea programului SCILAB.Meniul Edit: Select All pentru selectarea conţinutului ferestrei; Copy şi Paste pentru copierea zonelor selectate în şi din fereastră; Empty Clipboard şterge conţinutul memoriei tampon; History permite accesul la comenzi pentru manipularea comenzilor introduse anterior

în dreptul prompt-ului SCILAB; LaunchPad;Meniul Preferences conţine comenzi pentru modificarea aspectului şi a modului de lucru

ale mediului SCILAB.Meniul Cotrol are comenzi pentru execuţia şi oprirea programului curent.Meniul Editor este, de fapt, o comandă care permite accesul la o nouă fereastră SciPad.Meniul Help oferă utilizatorului posibilitatea documentării asupra mediului SCILAB.Ferastra SciPad permite încărcarea, editarea şi salvarea unui (sub)program, care poate fi

lansat în execuţie din fereastra de comenzi (Exec...). Desigur, aceste operaţii se pot face şi în ferestra de comenzi, dar în condiţii nu tocmai comode.

9.2. Obiectele mediului SCILAB

Elementele mediului de programare SCILAB sunt constantele, literalele, polinoamele şi funcţiile raţionale, funcţiile matematice uzuale, funcţii SCILAB generale, matricele şi listele.

9.2.1. Constantele

Constantele disponibile în mediul SCILAB sunt prezentate în tabelul 8.1.

Constantele SCILABTabelul 8.1

Contanta Notaţia SCILAB Tipulπ %pi reale %e real∞ %infi %i complex

true %t booleanfalse %f boolean

18

Fig. 8.3 – Fereastra SciPad

Page 3: 03 Curs Scilab(15)

9.2.2. Literalele

Literalele folosite în SCILAB sunt: Literale numerice realeNumărul real 17,173 se poate scrie:

17.173 = 17173e-3 = 0.17173e+2 (simbolul exponentului poate fi e sau E).

Literale numerice complexeNumărul complex 7 – 3i se scrie:

7 – 3*%i Literale nenumericeSunt şiruri de caractere cuprinse intre apostrofuri sau ghilimele:

'i' sau ''i'''sir' sau ''sir''

9.2.3. Polinoame şi funcţii raţionale

Un polinom poate fi definit cu ajutorul funcţiei poly:[p=]poly(a, 'x'[,'semafor']a = număr real, vector sau matrice;x = simbol nedeterminată;semafor = poate fi coeff sau roots (a doua este valoarea implicită).

Dacă a este un număr real, se poate defini nedeterminata:-->x=poly(0,'x')

x = x sau-->x=poly(-3,'x')

x = x+3

apoi se poate introduce pe linia de comandă:-->p=x^3–6*x^2+11*x–6

care, în funcţie de nedeterminata (x sau x+3) defineşte polinomul: p=

–6+11*x-6x^2+x^3 respectiv p=

2*x+3x^2+x^3

Dacă a este un vector, elementele acestuia sunt considerate ca fiind fie coeficienţii, fie rădăcinile polinomului, după cum semaforul are valoarea coeff sau roots. De exemplu, declaraţiile:-->a=[-6 11 -6 1];-->p=poly(a,'x',’coeff’)

definesc polinomul: p=

–6+11*x-6x^2+x^3

iar declaraţiile:-->a=[1 2 3];-->p=poly(a,'x')

definesc acelaşi polinom. Dacă a este o matrice pătrată, polinomul generat este valoarea determinantului

det(x*eye()–a). Funcţia eye() este matricea unitate. De exemplu, declaraţiile:-->a=[1 2 -1;2 1 2;-1 1 2];-->p=poly(a,'x')

generază polinomul:

19

Page 4: 03 Curs Scilab(15)

p=15-2*x-4x^2+x^3

acelaşi polinom poate fi generat cu declaraţiile:-->a=[1 2 -1;2 1 2;-1 1 2];-->x=poly(0,'x');-->p=det(x*eye()-a)

Dacă p şi q sunt două polinoame în nedeterminata x, atunci p/q defineşte o funcţie raţională. De exemplu:-->v1=[1 2 3];v2=[1 2 -1];p=poly(v1,'x');q=poly(v2,'x');-->r=p/q r =

-3 + x------ 1 + x

-->N=r('num') N=

-3 + x-->n=r('den') n=

1 + x

9.2.4. Funcţii matematice uzuale

Funcţiile matematice frecvent folosite sunt prezentate în tabelul 8.2.

Funcţiile matematice uzualeTabelul 8.2

Funcţia Semnificaţia Funcţia Semnificaţiaabs(x) |x| exp(x) ex

log(x) ln(x) log10(x) lg(x)sin(x) sin(x) asin(x) arcsin(x)sinh(x) sh(x) asinh(x) arcsh(x)cos(x) cos(x) acos(x) arccos(x)cosh(x) ch(x) acosh(x) arcch(x)tan(x) tg(x) atan(x) arctg(x)tanh(x) th(x) atanh(x) arcth(x)cotg(x) ctg(x) coth(x) cth(x)

9.2.5. Funcţii SCILAB generale

Funcţiile SCILAB frecvent folosite sunt prezentate în tabelul 8.3.

Funcţiile SCILAB uzualeTabelul 8.3

Funcţia Semnificaţiaexit (quit) părăsirea sesiunii de lucru.help funcţie afişează informaţii despre funcţia precizatăwho listează numele variabilelor curentewhos listează numele variabilelor curente, dimensiunile şi tipurile lorclc şterge conţinutul ferestrei de comenziclear şterge toate variabilele şi funcţiile declarate în sesiunea în cursclear a,b şterge variabilele a şi bsize(arg) returnează dimensiunea unei matrice specificată ca argumentlength(arg) returnează lungimea matricei (vectorului) specificată ca argumentmatrix(v,m,n) remodelează matricea v, parcurgând-o pe coloane, într-o matrice de mxn (liniixcoloane)

20

Page 5: 03 Curs Scilab(15)

9.2.6. Matrici

În mediul SCILAB se pot folosi matrici care în matematică sunt notate astfel:

Matricile A şi B sunt de forma (mxn) – matrici propriu-zise, C şi D sunt de forma (mx1) şi, respectiv, (1xn) – vectori, iar matricea E este de forma (1x1) – scalar.

Notaţia SCILAB pentru o matrice este de forma a(i,j), iar referirea la un element al matricei se face prin notaţia x=a(2,2), ceea ce înseamnă x=4.

Atenţie! SCILAB este case sensitive (variabila a este diferită de variabila A).

9.2.6.1. Definirea matricilor simple

Se poate face prin:a) Introducerea explicită a listei elementelor într-unul din formatele:

a=[1 2;3 4] sau a=[1,2;3,4];separatorul dintre elementele unei linii este spaţiul sau virgula (,)separatorul dintre linii este simbolul punct şi virgulă (;)

ex:-->x=[1,2,3,4] x=

1 2 3 4-->y=[1;2;3;4] y=

1234

b) Generarea prin instrucţiuni şi funcţiiex:-->clear;-->k=3;b(k)=5 //instructiune de atribuire b = 0. 0. 5.-->t=1:2:7 //progresie aritmetica: prim-termen:pas:ultim-termen t =

1. 3. 5. 7.-->r=rand(2,3)*17 //functie de randomizare r =

3.5925227 0.0037593 11.31147912.852746 5.6155606 10.68266

9.2.6.2. Matrici speciale

zeros(m,n) defineşte matricea nulă de m linii şi n coloane; ones(m,n) defineşte o matrice de m linii şi n coloane având toate elementele egale cu 1; eye(m,n) defineşte matricea unitate de m linii şi n coloane.

9.2.6.3. Elementele matricilor

21

Page 6: 03 Curs Scilab(15)

O matrice poate conţine constante, variabile, şiruri de caractere, polinoame sau funcţii raţionale. De exemplu:

-->x=poly(0,'x');-->y=2*x-5;-->a=[%pi 2^3 sin(%pi/6);y sqrt(16) -5;x abs(a(2,3)) %e] a = 3.1415927 8 0.5 - 5 + 2x 4 - 5 x 5 2.7182818-->b=['matrice' 'de' 'doua';'linii' 'trei' 'coloane'] b =!matrice de doua !! !!linii trei coloane !

Selectarea unui element al unei matrice se face prin precizarea liniei şi a coloanei. În exemplul de mai sus, elementul a(3,2) = abs(a(2,3)) = 5.

9.2.6.4. Operatori matriceali

Operatorii matriceali sunt prezentaţi în tabelul 8.4.

Operatori matricealiTabelul 8.4

Simbolul Semnificaţia+ adunare de matrici- scădere de matrici* înmulţire de matrici.* înmulţire pe componente^ ridicare la putere prin produs de matrici.^ ridicare la putere a componentelor\ a \ b = a-1 . b.\ a .\ b = (bi,j / ai,j)i,j

/ b / a = b . a-1

./ b . / a = (bi,j / ai,j)i,j

' transpunere matrice (inversarea liniilor cu coloanele)

9.2.6.5. Extinderea unei matrice pătrate

Adăugarea liniei v ca prima sau ultima linie a matricei pătrate a:

-->v=[0 0 0];a=[1 2 3;4 5 6;7 8 9];-->va=[v;a] va = 0. 0. 0. 1. 2. 3. 4. 5. 6. 7. 8. 9.-->av=[a;v] av = 1. 2. 3. 4. 5. 6. 7. 8. 9. 0. 0. 0.

Adăugarea vectorului v ca prima sau ultima coloană a matricei pătrate a:-->vap=[v;a']'

22

Page 7: 03 Curs Scilab(15)

vap = 0. 1. 2. 3. 0. 4. 5. 6. 0. 7. 8. 9.-->apv=[a';v]' apv = 1. 2. 3. 0. 4. 5. 6. 0. 7. 8. 9. 0.

9.2.6.6. Extinderea unei matrice oarecare

Adăugarea vectorului v(n) ca prima sau ultima linie a matricei a(m,n):-->a=[1 2 3;4 5 6];-->v=[0 0 0];-->va=[v;a] va = 0. 0. 0. 1. 2. 3. 4. 5. 6.-->av=[a;v] av = 1. 2. 3. 4. 5. 6. 0. 0. 0.

Adăugarea vectorului v(m) ca prima sau ultima coloană a matricei a(m,n):-->a=[1 2 3;4 5 6];-->v=[0;0] v = 0. 0.-->va=[v a] va = 0. 1. 2. 3. 0. 4. 5. 6.-->av=[a v] av = 1. 2. 3. 0. 4. 5. 6. 0.

Adăugarea unui element şi completarea cu zero a elementelor nedefinite:-->a=[-1.3 sqrt(3) (2*3)/5] a = - 1.3 1.7320508 1.2-->a(5)=abs(a(1));-->a a = - 1.3 1.7320508 1.2 0. 1.3

sau:-->b=[1 2;3 4] b = 1. 2. 3. 4.-->b(2,4)=6;-->b b = 1. 2. 0. 0. 3. 4. 0. 6.

23

Page 8: 03 Curs Scilab(15)

Construirea unei matrice din matrici mici folosite ca elemente:-->a1=[1 2;3 4];-->a2=[5 6;7 8];-->a=[a1;a2] a = 1. 2. 3. 4. 5. 6. 7. 8.-->b=[a1 a2] b = 1. 2. 5. 6. 3. 4. 7. 8.

sau-->a1=[1 2 3;4 0 0];-->a2=[5 6;7 8];-->a=[a1;a2] !--error 6inconsistent row/column dimensions-->a=[a1 a2] a = 1. 2. 3. 5. 6. 4. 0. 0. 7. 8.

Se observă că matricile a1 şi a2 au acelaşi număr de linii, dar număr de coloane diferit. De aceea, încercarea de a le combina pe coloane (a=[a1;a2]) se termină cu eroare.

9.2.6.7. Extragerea unei submatrice dintr-o matrice

Extragerea unei zone compacteDefinirea zonei cuprinsă între liniile li : lf şi coloanele ci : cf se face prin expresia de forma

a(li:lf,ci:cf). Pentru extragerea tuturor liniilor sau tuturor coloanelor se folosesc expresiile de forma a(:,ci:cf), respectiv a(li:lf,:). Exemplu:

-->a=[0 0 0 0;0 1 2 3;0 4 5 6;0 7 8 9] a = 0. 0. 0. 0. 0. 1. 2. 3. 0. 4. 5. 6. 0. 7. 8. 9.-->b=a(2:3,2:4) b = 1. 2. 3. 4. 5. 6.-->c=a(:,1:3) c = 0. 0. 0. 0. 1. 2. 0. 4. 5. 0. 7. 8.-->d=a(2:4,:) d = 0. 1. 2. 3. 0. 4. 5. 6. 0. 7. 8. 9.

Extragerea unei zone necompacte

24

Page 9: 03 Curs Scilab(15)

Precizarea zonei a(l,c) se face prin definirea a doi vectori care conţin liniile (l) şi, respectiv, coloanele (c) matricei a, care vor fi extrase. Exemplu:

-->a=[0 0 0 0;0 1 2 3;0 4 5 6;0 7 8 9] a = 0. 0. 0. 0. 0. 1. 2. 3. 0. 4. 5. 6. 0. 7. 8. 9.-->l=[1 2 4];-->c=[2 3];-->b=a(l,c) b = 0. 0. 1. 2. 7. 8.

Extragerea ultimei linii sau a ultimei coloanePentru extragerea ultimei linii sau ultimei coloane din matricea a se folosesc expresii de

forma a($,:), respectiv, a(:,$).

9.2.7. Liste

O listă se defineşte printr-o expresie de forma:list(e1, e2, ...., en)

în care ei sunt obiecte SCILAB. Exemplu:

-->l=list(17,%pi,'scilab',[1 2;3 4]) l = l(1) 17. l(2) 3.1415927 l(3) scilab l(4) 1. 2. 3. 4.

9.3. Elemente de programare în SCILAB

9.3.1. Generalităţi

În ce priveşte editarea programelor, mediul SCILAB oferă două posibilităţi: Introducerea programului, linie cu linie, în fereastra de comenzi în dreptul prompt-ului. Fiecare instrucţiune este executată şi rezultatul este afişat imediat ce s-a terminat introducerea ei, moment marcat de apăsarea tastei Enter. Rezultatul execuţiei nu este afişat dacă, înainte de Enter, se tastează punct şi virgulă (;).

Deschiderea unei ferestre de editare SciPad permite introducerea programului fără o execuţie imediată şi cu indentarea liniilor, pentru uşurarea urmăririi structurii acestuia. După finalizare programul poate fi lansat în execuţie cu ajutorul comenzii Load into Scilab din meniul Execute (Ctrl+l).

Comentariul trebuie precedat de două simboluri slash (//) consecutive şi poate să apară în continuarea unei instrucţiuni sau să ocupe singur o linie a programului.

9.3.2. Instrucţiunea de atribuire

25

Page 10: 03 Curs Scilab(15)

variabilă = expresie

9.3.3. Instrucţiuni condiţionale

9.3.3.1. Operatori logici şi operatori relaţionali

Pentru exprimarea condiţiilor care însoţesc instrucţiunile condiţionale se folosesc operatorii logici şi operatorii relaţionali, prezentaţi în tabelul 8.5

Operatori logici şi operatori relaţionaliTabelul 8.5

Operatori logici Operatori relaţionaliSimbolul Semnificaţia Simbolul Semnificaţia

& şi = = =| sau ~ = ≠~ nu < = ≤

< <> = ≥> >

9.3.3.2. Instrucţiunea if

if condiţie-1 [then]instrucţiuni-1

[[elseif condiţie-2 [then]instrucţiuni-2

...elseif condiţie-n [then]

instrucţiuni-n]else

instrucţiuni-n+1]end

Cuvântul cheie then poate fi înlocuit cu Enter sau virgulă (,). Dacă este folosit, then trebuie să apară pe aceaşi linie cu if sau elseif. Cuvântul cheie elseif poate fi despărţit în două cuvinte – else şi if – cu condiţia ca al doilea să fie scris pe linia următoare. Exemple:

// Instructiunea IF - var.1a=0;b=rand()if b<=.5 a=1end;if b>.5 a=2end;// Instructiunea IF - var.2a=0;if b<=.5 a=1else a=2end;// Instructiunea IF – cu ELSEIF

26

Page 11: 03 Curs Scilab(15)

if b<.2 a=1elseif b<.4 a=2elseif b<.6 a=3elseif b<.8 a=4else a=5end;

b = 0.2113249 a = 1. a = 1. a = 2.

În programul precedent funcţia rand() generează aleator un număr subunitar strict pozitiv.

9.3.3.3. Instrucţiunile select ... case

select expresiecase expresie-1 [then]

instrucţiuni-1 [[case expresie-2 [then]

instrucţiuni-2...case expresie-n [then]

instrucţiuni-n]else

instrucţiuni-n+1]end

Cuvântul cheie then poate fi înlocuit cu Enter sau virgulă (,). Dacă este folosit, then trebuie să apară pe aceaşi linie cu case. Exemplu:

/ Instructiunile SELECT... CASEclear;clcn=round(10*rand(1,1))select n case 0 then disp(0,'n=') case 1 then disp(1,'n=') case 2 then disp(2,'n=') case 3 then disp(3,'n=') case 4 then disp(4,'n=') case 5 then disp(5,'n=')

27

Page 12: 03 Curs Scilab(15)

case 6 then disp(6,'n=') case 7 then disp(7,'n=') case 8 then disp(8,'n=') else disp(9,'n=')end

n = 9.n= 9.

În programul precedent expresia round(10*rand(1,1)) generează aleatoriu a un număr întreg cuprins în intervalul [1,9]. Cuvântul cheie else putea fi înlocuit cu expresia case 9.

9.3.4. Instrucţiuni de ciclare

9.3.4.1. Instrucţiunea for

for variabilă=expresie [do] instrucţiune, instrucţiune, ...

end

În mod obişnuit expresie este de forma n1:pas:n2 sau n1:n2, unde n1,n2 sunt variabile sau constante care definesc valorile iniţială, respectiv, finală pentru variabilă, iar pas reprezintă valoarea cu care este incrementată variabilă la fiecare reluare a ciclului. Dacă lipseşte din expresie, pas are valoarea implicită 1.

Cuvântul cheie do poate fi înlocuit cu Enter sau virgulă (,). Dacă este folosit, do trebuie să apară pe aceaşi linie cu for. Virgula este obligatorie pentru separarea instrucţiunilor scrise pe aceeaşi linie (vezi Ex.3). Exemple:

// Instructiunea FORclear;clcn=3;// Ex.1for i = 1:n do for j = 1:n do a(i,j) = 1/(i+j-1); end;enddisp(a,'Ex.1: a=')// Ex.2for j = 2:n-1, a(j,j) = j;end;disp(a,'Ex.2: a=')// Ex.3disp('Ex.3: v=')for v=a, write(6,v), end // Ex.4disp('Ex.4')for l=list(1,2,'example') do l,endEx.1: a=

28

Page 13: 03 Curs Scilab(15)

1. 0.5 0.3333333 0.5 0.3333333 0.25 0.3333333 0.25 0.2

Ex.2: a= 1. 0.5 0.3333333 0.5 2. 0.25 0.3333333 0.25 0.2

Ex.3: v= 1.0000000000D+00 5.0000000000D-01 3.3333333333D-01 5.0000000000D-01 2.0000000000D+00 2.5000000000D-01 3.3333333333D-01 2.5000000000D-01 2.0000000000D-01

Ex.4 l = 1. l = 2. l = example

9.3.4.2. Instrucţiunea while

while condiţie=expresie [do / then / (,)]instrucţiune, instrucţiune, ...[else instrucţiune, instrucţiune, ...]

end

Cuvântul cheie do poate fi înlocuit cu then, virgulă (,) sau Enter. Dacă este folosit, do sau then trebuie să apară pe aceaşi linie cu while. Virgula este obligatorie pentru separarea instrucţiunilor scrise pe aceeaşi linie. Exemple:

// Instructiunea WHILEclear;clci=0;j=0;while i<=5 j=j+1; n=round(10*rand()); if n<=5 i=i+1; endenddisp(i)disp('din')disp(j)

6. din 9. numere n<=5

29

Page 14: 03 Curs Scilab(15)

Instrucţiunea break realizează un salt necondiţionat la prima instrucţiune, aflată după instrucţiunea end, care încheie instrucţiunea de ciclare.

9.4. Funcţii (subprograme) în SCILAB

9.4.1. Funcţii definite în linia de comandă

deff ('[y1, ... yn]=f(x1, ... xm)',['y1=expresie1', ... , 'yn=expresien',])O funcţie definită în linia de comandă poate fi salvată prin comanda:

save('cale\fişier.bin',f)Exemple:

// Functia DEFFclear;clc// Ex.1disp('Ex.1')deff('[y]=f(x)','y=2*x^2-7*x+5');x=[1:1:9];disp(x,'x=')disp('f:');f// Ex.2disp('Ex.2')deff('[z]=g(u,v)','z=u+v')deff('[z]=h(u,v)',['a=3*u+1'; 'z=4*a+u'])u=[1 2 3 4];v=[1 1 1 1];disp(u,'u=',v,'v=')disp('g:')gdisp('h:')h

Ex.1 x= 1. 2. 3. 4. 5. 6. 7. 8. 9. f: ans = 0. - 1. 2. 9. 20. 35. 54. 77. 104. Ex.2 v= 1. 1. 1. 1. u= 1. 2. 3. 4. g: ans = 2. 3. 4. 5. h: ans = 17. 30. 43. 56.

9.4.2. Funcţii definite în exterior

În fereastra SciPad se crează subprogramul:function [y1, ... yn]=f(x1, ... xm)

instrucţiuni Scilabcare se salvează obligatoriu cu numele fişier.sci şi poate fi utilizată după încărcarea ei prin:

30

Page 15: 03 Curs Scilab(15)

getf('cale\fişier.sci', 'c')în care parametrul 'c' semnifică faptul că Scilab foloseşte în execuţie o formă compilată a subprogramului. Dacă se utilizează 'n', atunci codul subprogramului este interpretat.

Funcţiile definite în exterior pot fi organizate în biblioteci. Astfel, funcţiile Scilab, aflate într-un catalog localizat prin cale, pot fi reunite într-o bibliotecă prin comanda:

genlib('numeBibliotecă', 'cale')Resursele bibliotecii pot fi utilizate după reîncărcarea ei prin:

numeBibliotecă=lib('cale')

9.5. Grafică în SCILAB

Scilab dispune de foarte multe funcţii grafice, din care prezentăm plot2d şi fplot2d.

9.5.1. Funcţia plot2d

plot2d([x,] y)unde x şi y sunt două matrici de acelaşi tip de m linii şi n coloane.Funcţia construieşte în fereastra grafică graficele a n curbe, care trec prin punctele:

(xi,j,yi,j)1≤i≤m jЄ{1, ... ,n} Dacă x lipseşte, el este presupus un vector 1:n, unde n este numărul de puncte pe curbă dat

de parametrul y.Exemple:

// Functia PLOT2Dclear;clcx=[0:0.1:2*%pi]’;// Ex.1 plotare simplaplot2d(sin(x));// Ex. 2 plotare simplaclf()plot2d(x,sin(x));// Ex. 3 plotare multiplaclf()plot2d(x,[sin(x) sin(2*x) sin(3*x)]);// Ex. 4 plotare multipla cu 3 culori (roşu-5, albastru-2, verde-3), cu legenda (L1,L2,L3), cu 3 marcaje principale şi 10 secundare pe x şi pe y şi cu frame – stânga-jos (0,-2) şi dreapta-sus (2π,2)clf()plot2d(x,[sin(x) sin(2*x) sin(3*x)],[5,2,3],leg="L1@L2@L3",..

nax=[10,3,10,3],rect=[0,-2,2*%pi,2]);

9.5.2. Funcţia fplot2d

fplot2d(x, f) undex este un şir de numere reale;f este o funcţie Scilab

iar rezultatul este graficul funcţiei f construit pe baza valorilor ei în punctele lui x.Exemple:

// Functia FPLOT2Dclear;clcx=[0:0.1:2*%pi]’;deff("[y]=f(x)","y=sin(x)+cos(x)")x=[0:0.1:10]*%pi/10;fplot2d(x,f)

31