Sunteți pe pagina 1din 4

TEMĂ DE CASĂ

TEHNICI SI LIMBAJE DE PROGRAMARE II

1. Operaţii cu matrici
Să se scrie un program de tip „script”, cu numele prog1_matrici.m, prin care să se efectueze următoarele
operaţii:
a) să se genereze următoarele matrici de numere:
3 4 2  2 1 5 1 
A =
− 3 2 − 5 ; B = 

− 2 −2 3 ; C = 
 
− 3 .

7 1 4  
1 3 4
 
−1
b) să se calculeze produsul vectorial M b = A × B ;
c) să se calculeze produsul scalar (înmulţirea element cu element), M c = A. * B
d) să se calculeze produsul vectorial M d = A × C ;
e) să se calculeze matricea M e obţinută prin ridicarea la puterea 2 a fiecărui element al matricei B ;
e) să se calculeze determinantul matricei A, d = det A ;
f) să se determine inversa matricei A, M f = A −1 ;
g) pornind de la vectorul coloana C să se determine un vector linie M g prin transpunerea acestuia ;
h) să se determine vectorii ε1 , ε2 , ε3 şi valorile proprii λ1 , λ2 , λ3 corespunzătoare matricei A ;
i) să se genereze două matrice M i1 şi M i 2 cu 3 linii şi 3 coloane având componentele generate aleator;
j) să se genereze o matrice 6x6 (6 rânduri cu 6 coloane) prin concatenarea matricelor A, B , M i1 şi M i 2 ,
 A M i1 
astfel: M j =  ;
M i 2 B 
k) să se genereze un vector coloană Vk cu 6 elemente prin extragerea coloanei 2 din matricea M j ;
l) să se genereze un vector coloană Vl cu 6 elemente prin extragerea rândului 4 din matricea M j ;
m) să se genereze un vector coloană Vm cu 6 elemente prin extragerea rândului 4 din matricea M j ;
n) să se genereze un vector coloană Vn cu 4 elemente prin extragerea elementelor de pe rândurile 2:5 din
coloana 3 a matricei M j ;
o) să se genereze un vector coloana Vo prin adăugarea la vectorul Vn a două elemente alese aleator pe
prima şi respectiv pe ultima poziţie;
p) să se genereze o matrice M p cu 6 rânduri şi 4 coloane prin concatenarea vectorilor Vk , Vl , Vm şi
Vo .

2. Operaţii de sortare, min, max


Să se scrie un program de tip „script”, cu numele prog2_sortare.m, prin care să se efectueze următoarele
operaţii:
a) să se genereze o matrice 6x6 M a cu elemente aleatoare având valori cuprinse în intervalul –8 … 8;
b) să se găsească elementul maxim şi elementul minim din matricea M a , determinându-se în acelaşi timp
şi poziţia acestora în cadrul matricei;
c) să se identifice elementele pozitive şi cele negative din matricea M a , generându-se doi vectori care să
conţină separat aceste elemente;
d) să se determine un vector coloană cu 6 elemente V d care să aibă ca elemente componente media
aritmetică a rândului respectiv (media aritmetică a rândului 1 devine elementul 1 al vectorului V d );
e) să se ordoneze crescător şi descrescător vectorul V d .

3. Rezolvarea ecuaţiei de gradul 2


a) Să se scrie un program de tip „funcţie” , cu numele prog3_ecgr2.m, şi unul de tip „script” , cu numele
prog3_rezecgr2.m, prin care să se rezolve ecuaţia ax 2 + bx + c = 0 , unde a = 3 , b = 3 , c = −1
b) Să se traseze grafic funcţia f ( x ) = ax 2 + bx + c , punându-se în evidenţă soluţiile ecuaţiei f ( x ) = 0 .

4. Rezolvarea unui sistem de ecuaţii algebrice


a) Să se scrie un program de tip „funcţie”, cu numele prog4_sist_alg.m, şi unul de tip „script”, cu numele
prog4_rezsist_alg.m, prin care să se rezolve un sistem de ecuaţii algebrice de forma:

 a1 1x1 + a1 2x2 + a1 3x3 = b1



 a 2 1x1 + a 2 2x2 + a 2 3x3 = b2 ,
a x + a x + a x = b
 311 32 2 33 3 3
tratându-se toate situaţiile posibile funcţie de valoarea determinantului matricei principale a sistemului
Valorile a ij şi b j vor fi generate aleator.

5. Înregistrarea datelor în fişiere ASCII şi binar


a) Să se genereze, folosind un program tip „script” cu numele prog5_inreg_date1.m, 2 matrici A(3x3) şi
B(3x3) şi un vector C cu 10 elemente;
b) În cadrul aceluiaşi program prog5_inreg_date1.m, să se înregistreze valorile celor 3 matrici într-un fişier
binar cu numele matrici_binar.mat folosind comanda save;
c) Să se înregistreze valorile matricilor A şi B într-un fişier ASCII cu numele matrici_ascii.txt, folosind
comanda save cu opţiunea -ascii;
observaţie: în cadrul fişierelor de tip ASCII se pot înregistra date cu aceeaşi structura, în sensul că dacă se
doreşte înregistrarea a două variabile A şi B, cele două variabile trebuie să aibă aceeaşi dimensiune; vectorul
C nu poate fi salvat în cadrul aceluiaşi fişier de tip ASCII pentru că dimensiunea acestuia este diferită în
raport cu celelalte două variabile A şi B.
d) folosind un alt program de tip script cu numele prog5_inreg_date2.m să se încarce valorile celor 3
matrici folosind comanda load pe baza fişierului de date binare matrici_binar.mat; să se verifice datele
încărcate folosind comanda who sau whos;
e) folosind un alt program de tip script cu numele prog5_inreg_date3.m să se încarce valorile celor 2
matrici A şi B folosind comanda load pe baza fişierului de date ascii matrici_ascii.txt.

6. Operaţii logice
În cadrul unui program de tip „script” cu numele prog6_oplogic.m, dându-se vectorii a = [ − 1 0 2] şi
b = [ 2 1 2] , să se determine valorile următoarelor expresii:
(a) a ~= b;
(b) a < b;
(c) a < b < a;
(d) a < b < b;
(e) a | (~a);
(f) b & (~b);
(h) a = b == a (să se determine ultima valoare a vectorului a).

7. Calcul exponenţială
În cadrul unui program de tip „functie” cu numele prog7_exp.m, să se calculeze valoarea exponenţialei e x
pe baza dezvoltării în serie Taylor:
1 2 1 3 1 4
e x =1 + x + x + x + x + ...
2! 3! 4!
Să se determine numărul de termeni necesari în cadrul dezvoltării pentru a se obţine o precizie de ordinul
10 −6 .
Comparaţi rezultatul obţinut cu rezultatul calculat cu funcţia matlab exp.

8. Integrala unei funcţii


Folosind un program de tip „script” cu numele prog8_integ1.m, şi un program de tip funcţie cu numele
prog8_integ2.m, să se realizeze un program care să permită calculul integralei funcţiei
f ( x ) = 2 x sin x + x cos x + 1 între limitele a şi b folosind metoda trapezelor.
Să se compare rezultatul cu cel obţinut cu funcţia matlab quad.
Să se reprezinte grafic funcţia f ( x ) ;
Să se determine soluţia ecuaţiei f ( x ) = 0 folosind funcţia matlab fzero.

9. Ecuaţii diferenţiale
Folosind un program de tip „script” cu numele prog9_ec_diff.m, şi un program de tip funcţie cu numele
prog9_model.m, să se realizeze un program care să permită integrarea ecuaţiei diferenţiale:
dy
= 2 y 2 + y cos y + 3 ,
dt
cu condiţia iniţială pentru t = 0 , y 0 =1 , pe intervalul t = [0 : 10 ] .Se foloseşte funcţia matlab ode45 bazată
pe metoda Runge-Kutta de ordin 4-5.
Să se traseze grafic rezultatul obţinut y (t ) corespunzător condiţiei iniţiale y 0 =1 .
Să se determine altă soluţie utilizând condiţia iniţială y 0 = 2 şi să se reprezinte grafic cea de-a doua soluţie
obţinută.
.
10. Sistem ecuaţii diferenţiale
Folosind un program de tip „script” cu numele prog10_sistec_diff.m, şi un program de tip funcţie cu numele
prog10_model.m, să se realizeze un program care să permită integrarea ecuaţiei diferenţiale:
 d y1 2 2
 d t 1 2 1 2 + y 2 + 5
= 2 y y + 4 y − 2 y
 ,
 d y2 = − 4 y y + 2 y 2 − 2 y 2 + 4 y − 3
 d t 1 2 1 2 1

cu condiţia iniţială pentru t = 0 , y10 = 0 , y 20 =1 , pe intervalul t = [0 : 10 ] .Se foloseşte funcţia matlab


ode45 bazată pe metoda Runge-Kutta de ordin 4-5.
Să se traseze pe acelaşi grafic rezultatul obţinut y1 ( t ) şi y 2 ( t ) corespunzător condiţiei iniţiale date.

11. Interpolare date


Folosind un program de tip „script” cu numele prog11_interp.m, să se realizeze următoarele operaţii:
a) să se genereze un vector t tab cu 10 elemente echidistante în intervalul 0:1;
b) să se genereze un vector Vtab cu 10 elemente obţinute aleator în intervalul -10:10 şi să se traseze grafic
punctele Vtab funcţie de t tab .
c) să se genereze un vector t cu 100 elemente echidistante în intervalul 0:1;
d) să se interpoleze în cadrul unui vector V folosind metoda de interpolare spline pe baza valorilor Vtab ,
t tab corespunzător valorilor t şi să se reprezinte pe acelaşi grafic V funcţie de t .

12. Ecuaţii diferenţiale Simulink


Folosind mediul de programare Simulink, să se realizeze un program care să permită integrarea ecuaţiei
diferenţiale:
dy
= 2 y 2 + y cos y + 3 ,
dt
cu condiţia iniţială pentru t = 0 , y 0 =1 , pe intervalul t = [0 : 10 ] . Să se traseze grafic rezultatul obţinut
y (t ) corespunzător condiţiei iniţiale y 0 = 1 .
Să se determine altă soluţie utilizând condiţia iniţială y 0 = 2 şi să se reprezinte grafic cea de-a doua soluţie
obţinută.

13. Sistem ecuaţii diferenţiale Simulink


Folosind mediul de programare Simulink, să se realizeze un program care să permită integrarea ecuaţiei
diferenţiale:
 d y1 2 2
 d t = 2 y1 y 2 + 4 y1 − 2 y 2 + y2 + 5
 ,
 d y2 = − 4 y y + 2 y 2 − 2 y 2 + 4 y − 3
 d t 1 2 1 2 1

cu condiţia iniţială pentru t = 0 , y10 = 0 , y 20 =1 , pe intervalul t = [0 : 10 ] . Să se traseze grafic y1 ( t ) şi


y 2 ( t ) corespunzător condiţiei iniţiale date.

14. Interfaţă grafica MATLAB


Să se realizeze o interfaţă grafică MATLAB care să permită conţină:
a) un buton exit care să permită ieşirea din program;
b) două elemente tip edit care să permită introducerea valorilor variabilelor a şi b;
c) elemente tip text care să permită afişarea numelor variabilelor a şi b (să afişeze pe rând „variabila a” şi
respectiv „variabila b”);
d) un buton cu numele „citire” care să realizeze citirea în memorie a variabilelor introduse a şi b;
e) un buton „calcul” care să fie legat de o funcţie matlab ce va permite realizarea următoarelor operaţii:
- calculează valoarea c = a 2 + 2b ;
- afişarea valorii c cu ajutorul unui alt element de tip text.
f) un buton „grafic” care sa permită trasarea într-un element de tip grafic a graficului funcţiei
f ( x ) = ax 2 + b sin x + c în intervalul x = − π : π .
.

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