Documente Academic
Documente Profesional
Documente Cultură
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
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
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
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
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:
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
function linii(m)
m1=(m(1,:))';
[m2,i]=sort(m1);
m3=m(:,i)
end
function coloane(n)
n1=n(:,2);
[n2,i]=sort(n1);
i1=flipud(i);
n3=n(i1,:)
16
M
,
16
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;
- submatricei format din liniile 1,4 i coloanele 2,4,5. //B([1 4],[2 4 5])