Sunteți pe pagina 1din 13

PROBLEME MATLAB

1.Să se selecteze elementele de pe poziţiile 2-6 şi 1, 4, 7 ale vectorului:


A=[1 2 3 4 5 6 7 8].

A=[1 2 3 4 5 6 7 8]
B=A(2:6)
C=A(1:3:7)

2. Fie o matrice A să se selecteze:


a) linia 1;
b) coloana 2;
c) liniile 1-3 şi coloanele 3-5;
d) liniile 1,3 şi coloanele 2, 3-5;

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

3.Să se extragă dintr-o matrice A toate coloanele ce au elementele liniei 2 mai mari ca 5.
A=[1 2 3 4 5;6 7 8 9 0;1 4 6 8 6;3 1 7 0 4]
L=A(2,:)>7
a=A(:,L)

4.Să se redimensioneze matricea A de dimensiuni 5x4 cu matricea B de dimensiuni 10x2.

A=[1 2 3 4 5 ;6 7 8 9 0; 1 4 6 8 6; 3 1 7 0 4]
B=reshape(A,10,2)

5. Să se rotească matricea A în jurul:


a) unei linii;
b) unei coloane;

A=[1 2 3 5 ;6 7 8 0; 1 4 6 6; 3 1 0 4]
a=flipud(A)
b=fliplr(A)

6. Să se rotească matricea A:
a) cu 90 grade în sens trigonometric;
b) cu 270 grade în sens orar;
A=[1 2 3 5 ;6 7 8 0; 1 4 6 6; 3 1 0 4]
a=rot90(A,1)
b=rot90(A,-3)
7.. Să se aplice funcţiile diag, tril şi triu matricei A.

A=[1 2 3 5 ;6 7 8 0; 1 4 6 6; 3 1 0 4]
a=diag(diag(A))
b=triu(A)
c=tril(A)
d=diag(A)
e=triu(A,3)
f=tril(A,3)

8.Să se calculeze pentru matricea A următoarele:


a) determinantul;
b) inversa;
c) pseudoinversa;
d) rangul;
e) urma;
f) norma;
g) numărul de condiţionare;
A=[1 2 3 5 ;6 7 8 0; 1 4 6 6; 3 1 0 4]
a=det(A)
b=inv(A)
c=pinv(A)
d=rank(A)
e=trace(A)
f=norm(A)
g=cond(A)

9. Fie o matrice A să se determine:


a) vectorul şi valorile proprii;
b) valorile singulare;
c) factorul Cholesky;
d) factorizarea LU;
e) descompunerea QR;
A=[1 2 3 5 ;6 7 8 0; 1 4 6 6; 3 1 0 4]
[V,D]=eig(A)
d=svd(A)
[R,p]=chol(A)
[L,U]=lu(A)
[Q,R]=qr(A)

1. Calculăm valoarea funcţiei punct cu punct, fără a crea o matrice de depozitare a


rezultatelor(avem timp maxim de rezolvare):

x=1:0.1:100;
k=length(x);
tic
for i=1:k
y(i)=f(x(i))
end
toc
plot(x,y)

2. Vom construi o matrice sau vector pentru a avea deja unde să stocăm rezultatul astfel ca
atunci când rulăm să nu mai mărească dimensiunea matricei după fiecare ciclu realizat :

x=1:0.1:100;
k=length(x);
y=zeros(1,k)
tic
for i=1:k
y(i)=f(x(i))
end
toc
plot(x,y)

3. Nu mai calculăm valoarea funcţiei punct cu punct:

x=1:0.1:100;
tic
y=f(x)
toc
plot(x,y)

1. Să se reprezinte grafic funcţia f(x)=sin(x) şi să se vectorizeze, să se compare timpi necesari


pentru rezolvarea aplicaţiei.

Vom calcula valoarea funcţiei punct cu punct:

x=-2*pi:0.1:2*pi;
k=length(x);
tic
for i=1:k
f(i)=sin(x(i))
end
toc
plot(x,f)
Vom calcula valoarea funcţiei punct cu punct dar îi vom crea un vector în care se va stoca
rezultatul:
x=-2*pi:0.1:2*pi;
k=length(x);
F=zeros(1,k);
tic
for i=1:k
F(i)=sin(x(i))
end
toc
plot(x,F)
Pentru a reduce considerabil timpul nu vom mai calcula funcţia punct cu punct:
x=-2*pi:0.1:2*pi;
tic
Y=sin(x)
toc
plot(x,Y)

2. Sa se reprezinte grafic funcţia f(x)=x2


a)
x=0:0.1:10;
k=length(x);
tic
for i=1:k
y(i)=x(i).^2
end
toc
plot(x,y)

b)

x=0:0.1:10;
k=length(x);
y=zeros(1,k)
tic
for i=1:k
y(i)=x(i).^2
end
toc
plot(x,y)
c)

x=0:0.1:10;
tic
y=x.^2
toc
plot(x,y)

3. Să se reprezinte grafic funcţiile f(x)=tg(x) şi g(x)=ctg(x), x ia valori între [0,2π].


a)
x=0:0.1:2*pi;
k=length(x);
tic
for i=1:k
f(i)=tan(x(i))
g(i)=cot(x(i))
end
toc
plot(x,f,'r',x,g,'m')
title('tangenta si cotangenta')
b)
x=0:0.1:2*pi;
k=length(x);
f=zeros(1,k)
g=zeros(1,k)
tic
for i=1:k
f(i)=tan(x(i))
g(i)=cot(x(i))
end
toc
plot(x,f,'r',x,g,'m')
title('tangenta si cotangenta')

4. Să se calculeze funcţia ce are valoarea sin(x) până la 0, şi cos(x) în rest.


a)
x=-4*pi:0.1:4*pi
k=length(x)
tic
for i=1:k
if x(i)>0
f(i)=sin(x(i))
else
f(i)=cos(x(i))
end
end
toc
plot(x,f)
b)
x=-4*pi:0.1:4*pi
k=length(x)
f=zeros(1,k)
tic
for i=1:k
if x(i)>0
f(i)=sin(x(i))
else
f(i)=cos(x(i))
end
end
toc
plot(x,f)
c)
x=-4*pi:0.1:4*pi
tic
if x>0
f=sin(x)
else
f=cos(x)
end
end
toc
plot(x,f)

1.Să se rezolve sistemul:

 2x + y − z = 3

 − x + 3y + 4z = 5
x− y− z = −2

1.
a)
A=[2 1 -1;-1 3 4; 1 -1 -1];
B=[3; 5; -2];
X=A\B

X =

-0.1429
2.5714
-0.7143

b)
C=A'

C =
2 -1 1
1 3 -1
-1 4 -1

D=B'

D =

3 5 -2

Y=D/C

Y =

-0.1429 2.5714 -0.7143

2.
a)
X=inv(A)*B

X =

-0.1429
2.5714
-0.7143

b)
Y=D*inv(C)

Y =

-0.1429 2.5714 -0.7143


1. Fie polinoamele:
g(x)=4x4-3x2+x-1
h(x)=x3+x2+6
Să se determine:
a) valorile polinoamelor în x=2;
b) valorile polinoamelor pentru x=[-1 2 6 9];
c) valorile polinoamelor pentru x=[-1 2 6 9] cu funcţia polyval;
d) valorile polinoamelor pe intervalul x=1:9;

a) x=2;
g=4*x^4-3*x^2+x-1
h=x^3+x^2+6

b) x=[-1 2 6 9];
g=4.*x.^4-3.*x.^2+x-1

h=x.^3+x.^2+6

c)
x=[-1 2 6 9];
g=[4 0 -3 1 -1];
h=[1 1 0 6];
polyval(g,x)

polyval(h,x)

d)

x=1:1:9;
polyval(g,x)

polyval(h,x)

2. Fie polinoamele:
g(x)=4x4-3x2+x-1
h(x)=x3+x2+6
Să se efectueze operaţiile:
a) g+h;
b) g-h;
c) g*h;
d) g/h;
a)
h=[0 1 1 0 6];
g=[4 0 -3 1 -1];
s=g+h
b)
d=g-h

c)
c=conv(g,h)

d)
g=[4 0 -3 1 -1];
h=[1 1 0 6];
[d,r]=deconv(g,h)

3. Fie polinoamele:
g(x)=4x4-3x2+x-1
h(x)=x3+x2+6
Să se descompună în fracţii simple raportul g/h.
h=[1 1 0 6];
g=[4 0 -3 1 -1];
[r,p,k]=residue(g,h)

4. Se dau polinoamele: g(x)=4x4-3x2+x-1şi h(x)=x3+x2+6


a) să se determine rădăcinile;
b) să se calculeze derivata fiecărui polinom;
c) să se calculeze derivata produsului lor;
d) să se calculeze derivata raportului g/h;

a)roots(g)
roots(h)

b)polyder(g)
polyder(h)

c)polyder(conv(g,h))

d)[q1,q2]=polyder(g,h)

5. Să se determine coeficienţi polinomului ce are rădăcinile: 1, 2, 7.


r=[1 2 7];
p=poly(r)
1. Să se rotunjească elementele vectorului v=[0 2 5.6 -6.8 1-i -4.2 -3+7i] la:
a) cel mai apropiat întreg;
b) cel mai apropiat întreg spre 0;
c) cel mai apropiat întreg spre plus infinit;
d) cel mai apropiat întreg spre minus infinit;
e) să se aproximeze cu numere raţionale;
f) să se aproximeze cu fracţii continue;
function[a,b,c,d,e,f]=fractii(x)
x=[1 2 5.6 -6.8 1-i -4.2 -3+7i ];
a=round(x)
b=fix(x)
c=ceil(x)
d=floor(x)
e=rats(x)
f=rat(x)

2.a) Să se calculeze c.m.m.d.c pentru 21 şi 56.


b) Să se calculeze c.m.m.m.c dintre 7 şi 123.
function[a,b]=divizori()
a=gcd(21,56)
b=lcm(7,123)

3. Fie matricea A=[1 ejπ e-jπ ; -1 e-j(2/3)π ej(2/3)π ] să se determine proiecţiile pe axele imaginară şi
reală precum şi conjugatul.
function[x,y,c]=operatii(A)
A=[1 exp(j*pi) exp(-j*pi) ; -1 exp(-j*(2/3)*pi)
exp(j*(2/3)*pi) ]
x=unwrap(real(A))
y=unwrap(imag(A))
c=conj(A)

4. Să dă vectorul v=[4 8 5 2]. Să se efectueze:


a) v2;
b) extragerea de radical;
c) ln(v);
d) ev;
function[a,b]=fractii(v)
v=[4 8 5 2]
a=v.^2
b=sqrt(v)
c=log(v)
d=exp(v)
5. Să se calculeze funcţiile trigonometrice pentru v=[π 2π (2/3)π π/2]
function[a,b,c,d,e,f]=fractii(v)
v=[pi 2*pi (2/3)*pi pi/2]
a=sin(v)
b=cos(v)
c=tan(v)
d=cot(v)
e=sec(v)
f=csc(v)

1. Să se citească valoarea lui y care corespunde lui x1= 3 din tabelul de mai jos:

x -1 0 4 6
y 5 7 9 11

M=[-1 5;0 7;4 9;6,11];


y=table1(M,3)

2.Să se estimeze cu funcţia interp1 valoarea lui y care corespunde lui


x1=-1.5, x2=0 şi x3=4 folosind interpolarea liniară, cubică şi spline cubică.
şi să se reprezinte grafic. Stiind că:
x=[-2 -0.5 1 3 5];
y=[3 1 4 7 9];
yil=interp1(x,y,[-1.5,0,3],'linear')
yic=interp1(x,y,[-1.5,0,3],'cubic')
yis=interp1(x,y,[-1.5,0,3],'spline')
plot(x,y,'r',xi,yil,'k',xi,yic,xi,yis,'m')

3.Să se determine valoarea y de interpolare spline cubică pentru x=1.


x=[-2 0 3 8 11];
y=[2 1 4 6 9];
yi=spline(x,y,1)

4.Să se interpoleze următoarea funcţie:y=cos(2kπ/6) cu 10 paşi pe perioadă, folosind metoda FFT.


k=0:5;
x=cos(2*k*pi/6);
yi=interpft(x,10)

5. Să se estimeze valoarea lui zi care corespunde perechii (x,y)=(6,1.2) prin interpolare biliniară şi
bicubică:
x=[1 2 3 4 5 6 7];
y=[1 2 3];
z=[1 2 3 4 5 6 7; 8 9 1 4 7 10 1; 2 23 12.4 6 8 10 11];
zil=interp2(x,y,z,6,1.2,'linear')

6.Fie polinomul p=x4-2x3-x+1.Aproximaţi în sensul celor mai mici pătrate datele obţinute cu un
polinom de gradul 4..Reprezentaţi grafic.
p=[1 -1 -1 1];
x=-1:0.25:2;
y=polyval(p,x);
c=polyfit(x,y,4);
evalc=polyval(c,x);
plot(x,y,'r',x,evalc,'m')

7.Se dau x şi y să se determine coeficienţii polinoamelor de gradul 2 ,4şi 7 care aproximează


punctele (x,y).
x=[-1 0 2 4 6 8 9];
y=[-10 -2 0 3 5 8 10];
xn=-1:0.1:9;
c2=polyfit(x,y,2)

1. Să se reprezinte grafic funcţia y=sin(2πt):


a) folosind funcţia plot cu linie continuă, marker: * şi culoarea b;
b) folosind bare;
c) folosind trepte ;
d) folosind funcţia stem;
e) folosind funcţia hist;
a) plot(t,y,'-*b')
t=0:0.01:1;
y=sin(2*pi*t);
plot(t,y,'-*b')
b) bar(t,y)
c) stairs(t,y)
d) stem(t,y)
e) hist(y)

2. Să se reprezinte grafic funcţia y=sin(2πt) folosind funcţia plot cu linie continuă, marker: * şi
culoarea b;cu titlul: reprezentarea sinusului, pe axa x să avem eticheta: timp, pe axa y, eticheta:
funcţia_y, cu grid şi pe grafic să avem scris cuvântul: SINUSOIDA la o poziţie selectată cu mouse-
ul.
t=0:0.001:0.02;
y=sin(2*pi*t);
plot(t,y,'-*b');
title('reprezentarea sinusului');
xlabel('timp');
ylabel('functia y');
gtext('SINUSOIDA')
grid

3. Să se reprezinte grafic o spirală în 3D.


t=0:pi/10:20*pi;
plot3(sin(t),cos(t),t)
title('SPIRALA')
4.Reprezentaţi grafic suprafaţa: Z=exp(X2+Y2)
a) ca suprafaţă "mesh";
b) ca suprafaţă "mesh"asociată cu linii de contur;
c) ca suprafaţă "mesh"cu plan de referinţă;
[X,Y]=meshgrid(-3:.1:3,-3:.1:3);
Z=X.*exp(-X.^2-Y.^2);
subplot(221);
mesh(X,Y,Z);
subplot(222);
meshc(X,Y,Z);
subplot(223);
meshz(X,Y,Z);
[X,Y]=meshgrid(-3:.3:3,-3:.3:3);