Matlab - Probleme [PDF]

  • 0 0 0
  • Gefällt Ihnen dieses papier und der download? Sie können Ihre eigene PDF-Datei in wenigen Minuten kostenlos online veröffentlichen! Anmelden
Datei wird geladen, bitte warten...
Zitiervorschau

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 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 a=rot90(A,1) b=rot90(A,-3)

0; 1 4 6 6; 3 1 0 4]

0; 1 4 6 6; 3 1 0 4]

7.. Să se aplice funcţiile diag, tril şi triu matricei A. A=[1 2 3 5 ;6 7 8 a=diag(diag(A)) b=triu(A) c=tril(A) d=diag(A) e=triu(A,3) f=tril(A,3)

0; 1 4 6 6; 3 1 0 4]

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 [V,D]=eig(A) d=svd(A) [R,p]=chol(A) [L,U]=lu(A) [Q,R]=qr(A)

0; 1 4 6 6; 3 1 0 4]

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 4

1 -1 -1

5

-2

D=B' D = 3 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 y

-1 5

0 7

4 9

6 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 mouseul. 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);