0% au considerat acest document util (0 voturi)
6 vizualizări37 pagini

Matlab Partea3

Documentul prezintă elementele de bază ale limbajului MATLAB, inclusiv structuri de control precum deciziile IF-ELSEIF-ELSE și SWITCH, operatori relaționali și logici, precum și instrucțiuni de ciclare WHILE și FOR. Se oferă exemple de utilizare a acestor structuri pentru a calcula funcții pe intervale și pentru a gestiona condiții logice. De asemenea, se discută despre funcții echivalente pentru operatorii logici și ordinea execuției operatorilor.

Încărcat de

apostolmihaela1973
Drepturi de autor
© All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca PDF, TXT sau citiți online pe Scribd
0% au considerat acest document util (0 voturi)
6 vizualizări37 pagini

Matlab Partea3

Documentul prezintă elementele de bază ale limbajului MATLAB, inclusiv structuri de control precum deciziile IF-ELSEIF-ELSE și SWITCH, operatori relaționali și logici, precum și instrucțiuni de ciclare WHILE și FOR. Se oferă exemple de utilizare a acestor structuri pentru a calcula funcții pe intervale și pentru a gestiona condiții logice. De asemenea, se discută despre funcții echivalente pentru operatorii logici și ordinea execuției operatorilor.

Încărcat de

apostolmihaela1973
Drepturi de autor
© All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca PDF, TXT sau citiți online pe Scribd

Programarea si utilizarea

calculatoarelor II

(1) Elemente de baza ale limbajului


MATLAB
Decizia IF – ELSEIF - ELSE
The if function can be used alone or with the else and
elseif functions. When using elseif and/or else within
an if statement, the general form of the statement is

if expression1 Expresie logica

statements1
elseif expression2 DA NU
statements2
else
V1 V2
statements3
end !!!! Intotdeauna se va executa
doar una din variantele V1 si V2
Decizia – exemplul 1
Decizia – calculul unei functii pe
intervale
Sa se determine valoarea functiei f(x)=y, unde:

−3 ∙ 𝑥 2 + 4, 𝑥 < −2
𝑓= 2
𝑥 −5∙𝑥+1 𝑥 ≥ −2
Decizia – calculul unei functii pe
intervale
Decizia – calculul unei functii pe
intervale
Sa se determine valoarea functiei f(x)=y, unde:

2 ∙ 𝑥 2 + 1, 𝑥 < −2
1
𝑓= −2≤𝑥 ≤2
𝑥
5∙𝑥−2 𝑥 >2
Decizia – calculul unei functii pe
intervale
Problema simpatica
Mama ii spune lui Bula:
- Du-te pana la magazin si ia o ruda de
salam si daca sunt oua, ia zece.
Bula merge la magazin si zice:
- Aveti oua? – Da.

- Dati-mi zece rude de salam.

Scrieti doua secvente de program, una in care Bula face ca in


gluma de mai sus, si a doua in care procedeaza cum l-a rugat
mama lui.
Operatori relationali
x == 3 este x egal cu 3?
x ~= 3 este x diferit de 3?
x >3 este x mai mare decat 3?
x <3 este x mai mic decat 3?
x >= 3 este x mai mare sau egal cu 3?
x <= 3 este x mai mic sau egal cu 3?

!!!!Atentie: raspunsul din punct de vedere logic poate fi


DOAR: 1 – ADEVARAT (TRUE) sau 0 – FALS (FALSE)

!!!!Atentie: “=” inseamna atribuire


“==” inseamna comparatie
Operatori relationali

Exemplu:
Operatori logici

& - Operatorul “si logic”


| - Operatorul “sau logic”
~ - Operatorul “negatie”
xor - Operatorul “sau absolut”

!!!!Atentie: din punctul de vedere al MATLAB-ului orice


valoare numerica diferita de zero (0) are valoarea
logica 1 (TRUE) iar valoarea 0 este 0 (FALSE)
Operatori logici
Operatori logici
Operatori logici – functii echivalente
A&B and(A,B)
A|B or(A,B)
~A not(A)
---
Alte functii aplicate pe matrice:
A= 0 1 2;
0 -3 8;
0 5 0
any(A) – returneaza 1 daca cel putin un element al
vectorului (coloanei ‘i’) este diferit de 0 ans = 0 1 1
All(A) – returneaza 1 daca toate elementele unui vector
(coloanei ‘i’) sunt diferite de 0 ans = 0 1 0
Operatori
logici

functii
echivalente
Operatori logici – “cu
scurtcircuitare” sau inteligenti

&& - si logic, || - sau logic


Acesti operatori evalueaza al doilea
termen al expresiei doar daca primul
nu decide singur valoarea de adevar a
expresiei
A&&B – daca A e zero (FALSE) B nu
se evalueaza
A||B – daca A este diferit de zero
(TRUE) atunci B nu se evalueaza
Ordinea executiei operatorilor (1/2)
1. Parentheses ()
2. Transpose (.'), power (.^), complex conjugate
transpose ('), matrix power (^)
3. Unary plus (+), unary minus (-), logical
negation (~)
4. Multiplication (.*), right division (./), left
division (.\), matrix multiplication (*), matrix right
division (/), matrix left division (\)
5. Addition (+), subtraction (-)
6. Colon operator (:)
Ordinea executiei operatorilor (2/2)

7. Less than (<), less than or equal to (<=), greater


than (>), greater than or equal to (>=), equal
to (==), not equal to (~=)
8. Element-wise AND (&)
9. Element-wise OR (|)
10. Short-circuit AND (&&)
11. Short-circuit OR (||)
Decizia – variante multiple
Decizia – variante multiple - IF
Decizia – variante multiple - SWITCH

switch case_expression
statements
case case_expression
statements
:
otherwise
statements
end
Decizia – variante multiple - SWITCH
Decizia – variante multiple - SWITCH
Inversarea valorii a doua variabile

aux = a;
a = b;
b = aux;

De ce avem nevoie de o variabila suplimentara?


Instructiuni de ciclare - while

while expression
statements
end
Aceasta secventa va repeta instructiunile din corpul
functiei while (statements) atata timp cat valoarea
de adevar a expresiei expression este adevarata
(TRUE)
Aceasta secventa de ciclare se foloseste de obicei
cand nu se cunoaste numarul de repetitii al ciclului,
acesta fiind conditionat de un eveniment logic
Instructiuni de ciclare - while
Instructiuni de ciclare - While
De cele mai multe ori, in situatiile uzuale, fiecare ciclu
se desfasoara regulat, fara intreruperi. Exista insa
cazuri in care, se doreste iesirea brusca din executia
ciclului sau trecerea la urmatoarea repetare, FARA
executia unor anumite parti a ciclului.
Pentru aceste cazuri speciale exista functiile:

break – opreste executia ciclului (iesire fortata)


continue – opreste executia secventei curente si trece
la urmatoarea
Instructiuni de ciclare - While
Instructiuni de ciclare - While
Instructiunea de ciclare - For
Execute statements specified number of times

Syntax

for index = values


program statements
:
end
Instructiunea de ciclare - For
for index = values
program statements
:
end

index initval:endval

initval:step:endval

valArray
Instructiunea de ciclare - For
Instructiunea de ciclare - For
Instructiunea de ciclare - For
Instructiunea de ciclare - For
Exemple
1. Sa se calculeze functia f(x):

3x2 , x  0

f(x)  2, 0  x  10
2  x  3, x  10

Pentru x = [-3,-2,-1, 0, 0.5, 3, 6, 10, 11, 11.5, 12, 12.5, 13]
Exemple
2. Sa se citeasca / introduca un sir. Din sirul dat sa se
formeze doua siruri noi, unul cu elementele negative
si unul cu elementele pozitive ale acestuia.

3. Se dă funcţia: 
3  x  1, x  8

f (x)  2  x 2  5,  8  x  4
 2  x 1
 , x4
 x 5
Să se determine valorile funcţiei f(x) în intervalul
[a,b], parcurs cu pasul k. Sa se afişeze, pentru fiecare
valoare a lui x, f(x) dacă funcţia se poate calcula,
respectiv un mesaj de eroare în punctele unde funcţia
nu se poate calcula.

S-ar putea să vă placă și