Sunteți pe pagina 1din 9

Exercitii rezolvate MATLAB

1. Care este modalitatea de introducere a unor comentarii ntr-un program MATLAB? Care este structura
unui fiier care conine comentarii? n ce condiii un comentariu devine help? S se scrie un program n MATLAB
prevzut cu help i comentarii i s se exemplifice vizualizarea help-ului n linie de comand.
*un comentariu se introduce intr-un program prin caracterul % plasat la inceputul comentariului
*daca este plasat la inceput de linie intreaga linie este omisa
*in interiorul liniei ce urmeaza dupa % este omisa
*este necesar un comentariu dupa prima linie care declara o functie in acest caz comentariul care apare
imediat dupa linia de declarare constitue help-ul fisierului
*structura unui fisier de tip function care contine linii de help:
function[var_iesire]=numefunctie[var_intrare]
%prima linie de help |
.
| apare atunci cand scriem in CW help nume_functie
.
|
%ultima linie de help |
Instructiunea 1
Instructiunea 2
2. S se creeze un fiier tip funcie care s determine elementul maxim dintr-o matrice oarecare i poziia
acestui element (linia i coloana).

function maxmatrice=maxmat(m)
maxmat=max(max(m));
%maxi=indicele liniei
%maxj=indicele coloanei
maxim=0;
[i,j]=size(m);
for k=1:i
for l=1:j
if(maxim<=m(k,l))
maxim=m(k,l);
maxi=k;
maxj=l;
end
end
end
maxim
maxi
maxj

3. Care sunt cele 3 modaliti de introducere a matricelor n MATLAB? Exemplificai cele 3 modaliti. S se
introduc matricile urmtoare:
7 ln 8

1 6 5i

c 3 3 2i
5 lg 32

8
20
6 3

5 ,

6 7

d 3
5

11

3
8 6
4 6
e4

5 .
1

*intoducerea explicita a matricilor


*generarea prin instructiuni si functii
*creerea de fisiere m
*incarcarea din fisiere de date externe
A) A=[1 2 ; 3 4]
B) A=[1:3 ; 4:6 ]
C) Daca pe disc exista un fisier .m organizat ca o matrice ( date.m) fiind liniile lui de text A poate lua forma
matriciala din fisierul date prin instructiunea A=date.
4. Fie matricea x. S se realizeze un fiier tip funcie care s nlocuiasc linia a cu suma celorlalte linii ale
acestei matrice.

function inloclincusuma=suma(x,a)
x(a,:)=sum(sum(x))-sum(sum(x(a, : ))

5. Ce este acela un fiier de tip script? Care sunt caracteristicile unui fiier de tip script? Ilustrai toate acestea
printr-un scurt exemplu, crend un fiier de tip script!
*este un fisier extern care contine care contine o secventa de comezi matlab
*prin apelarea numelui fisierului se executa secventele de instructiuni continute
*dupa executare toate variabilele cu care sa operat raman in memoria matlab
*sunt folosite in rezolvarea unor problrmr groaie in matlab
*la finalul fisierelor script se scrie clear
EX: x=2
m=x^3-2*X^e+x-6
n=x^2+0.5*X-1
f=m/n;
Numele fisier=text
*se apeleaza text in CW (calculul unei exprexii complicate)
Ce este acela un fiier de tip funcie? Care sunt caracteristicile unui fiier de tip funcie? Ilustrai toate acestea
printr-un scurt exemplu, crend un fiier de tip funcie!
*daca pe prima linie contine cuvantul function fisierul este de tip functie
*fisierul functie difera de cel script prin faptul ca poate lucra cu variabile de iesire
*sunt utilizate pentru extinderea matlab pentru creerea unor noi functii in matlab
*sintaxa primei linii: funtion[var_iesire]=function[var_intrare]
*sintaxa de apelare a liniei de comanda: [var_iesire]=numele_functie[var_intrare]
*EX: functie[x]=functie1(x,a)
x(a,:)=suma(x)-x(a,:);

6. Fie matricea x. S se realizeze un fiier tip funcie care s nlocuiasc coloana b cu suma celorlalte coloane
ale acestei matrice.

function sumacol=suma2(x,b)
x(:,b)=sum(sum(x))-sum(sum(x(:,b)))
7. S se implementeze i s se reprezinte grafic n MATLAB funcia modul definit de relaia:

t ,daca 4 t 0
,
t ,daca 0 t 4

f t
folosind operatorii relaionali i logici.

function functie=func(t)
if (-4<=t<0)
for t=-4:-1
f=-t
end
end
if (0<=t<=4)
for t=0:4
f=t
end
end
plot(t,f,'r')
8. S se implementeze i s se reprezinte grafic n MATLAB funcia definit de relaia:

sin t ,daca 10 t 4 4 t 10
cos5t ,daca 4 t 4

f t

folosind operatorii relaionali i logici.

function functie1=func2(t)
if (-10<=t<=-4)|(4<=t<=10)
for t=-10:-4 | t=4:10
f=sin(t)
end
end
if (-4<=t<4)
for t=-4:4
f=cos(5*t)
end
plot(t,f,'r')

9. S se realizeze un fiier de tip funcie care s genereze o matrice cu m linii i n coloane avnd elementele

coloanelor impare egale cu 1 i elementele coloanelor pare egale cu 0.

function pareimpare=pareimp(m)
[i,j]=size(m);
for col=1:j
if col%2~=0
m(:,col)=1
end
if col%2==0
m(:,col)=0
end
end

10. Folosind programul MATLAB, s se calculeze n dou variante i s se reprezinte grafic funcia definit
de relaia:

f x sin x ,
pe intervalul

2 ,2 , cu pasul 0,05.

i=-2*pi:0.05:2*pi
f=sin(i)
plot(i,f)

11. Fie vectorul v. S se realizeze un fiier de tip funcie care s calculeze suma elementelor vectorului v,
pn cnd ntlnete un numr mai mare dect c.

function vector=sumavect(v,c)
l=length(v)
suma=0
for i=1:l
if v(i)<c
suma=suma+v(i);
end
end
suma
12. Folosind programul MATLAB, s se genereze urmtoarea matrice:

2,5 L
3
2,4 2
L
h

2,5 L
3

3
2,4

2,5 3

2,5
2

function a=mate(x,y)
x=-3:0.5:3;
a=rand(11,13);
a(1,1:13)=x;
y=-0.6:0.1:0.6;
for i=2:11
for j=1:13
a(i,j)=a(i-1,j)-y(1,j);
end
end
13. Fie matricea A. S se realizeze un fiier de tip funcie care s inverseze ordinea coloanelor matricei A
utiliznd 3 metode.
function inversarecol=invcol(m,metoda)
if metoda==1
fliplr(m)
end
if metoda==2
flipud(rot90(rot90(m)))
end
if metoda==3
[i,j]=size(m);
for k=1:i
for l=1:j
aux=m(k,l);
m(k,l)=m(k,j-l+1);
m(k,j-l+1)=aux;
end
end
end
m

14. S se realizeze un fiier de tip funcie care s calculeze suma urmtoare:


b

s en .
na

function suma123=sumaexp(n,a,b)
cumsum(exp(a:b))
15. S se realizeze un fiier de tip funcie care s calculeze, prin 2 metode, produsul factorial:

P n ! n n 1 K
2 1 .

function factorial123=factorial(n,metoda)
produs=1;
if metoda==1
prod(1:n)
end
if metoda==2
for i=1:n
produs=produs*i;
end
produs
end

16. S se realizeze n MATLAB un fiier de tip funcie care s numere de cte ori apare valoarea a n
cadrul unei matrice date.
function aparitie=apareAM(m,a)
[i,j]=size(m);
nr=0;
for k=1:i
for l=1:j
if m(k,l)==a
nr=nr+1;
end
end
end
nr

17. Folosind programul MATLAB, s se reprezinte grafic n aceeai figur, prin dou curbe de tipuri i culori
diferite, funciile urmtoare:

f x sin 2 50t , g x f x 0,3 .


t=0:0.1:2*pi;
f=sin(2*pi*50*t);
g=f+0.3;
plot(t,f,'*r',t,g,'--b')

18. Folosind programul MATLAB, s se reprezinte grafic 3D, prin dou metode, funcia urmtoare:

f x, y e x

y2

, n domeniul

[x,y]=meshgrid(-3:0.02:3 , -4:0.02:4);
z=exp(-x.^2-y.^2);
mesh(x,y,z)

3 x 3 , 4 y 4 .

19. S se realizeze un fiier funcie care s calculeze suma urmtoare prin 2 metode:
b

s (n 8)
na

function s=suma1(a,b,metoda)
s=0;
if(metoda==1)
%metoda 1
for i=a:1:b
s=s+i-8;
end
end
if(metoda==2)
%metoda 2
t=a:1:b;
t=t-8;
s=sum(t);
end
20. S se realizeze un fiier funcie care s calculeze produsul urmtor prin 2 metode:
b

p n 8
na

function p=produs1(a,b,metoda)
if(metoda==1)
%metoda 1
p=1;
for i=a:1:b
p=p*(i-8);
end
end
if(metoda==2)
%metoda 2
t=a:1:b;
t=t-8;
p=prod(t);
end
end

S se creeze un fiier funcie prin care s se schimbe ordinea coloanelor matricei


M astfel nct elementele din prima linie s fie ordonate cresctor.
21.

function linii(m)

m1=(m(1,:))';
[m2,i]=sort(m1);
m3=m(:,i)
end

S se creeze un fiier funcie prin care s se schimbe ordinea liniilor matricei N


astfel nct elementele din coloana a 2-a s fie ordonate descresctor.
22.

function coloane(n)
n1=n(:,2);
[n2,i]=sort(n1);
i1=flipud(i);
n3=n(i1,:)

23. S se creeze un fiier funcie pentru generarea matricei m n urmtoare:


2 L
b M
2 L

16
M
,
16

unde m i n sunt numere ntregi oarecare diferite de 0.


function generare1(m,n)
for i=1:m
A(i,:)=linspace(2,16,n);
end
A

24. S se creeze un fiier funcie prin care s se genereze un vector obinut prin
ntreeserea elementelor a 2 vectori.
function v=vect(m,n)
a=length(m);
b=length(n);
v(1:2:a+b)=m;
v(2:2:a+b)=n;

25.S se scrie instruciunile care permit selectarea din matricea B a:


- liniei a 2-a; //B(2,:)
- coloanei a 3-a; B(:,3)
- submatricei format din liniile 1-2 i coloanele 4-6; //B(1:2,4:6)

- submatricei format din liniile 1,4 i coloanele 2,4,5. //B([1 4],[2 4 5])

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