Vous êtes sur la page 1sur 6

Université M’hamed BOUGUERRA BOUMERDES

Nom : HAZZAB
Faculté des hydrocarbures et de la chimie
Prénom : Mohamed Hicham
S3 Licence-Semestre 1
Groupe : LAMC 19
Enseignantes :
Mme S.HADID (samirapg06@gmail.com): Groupes (LACA1, LACA2, LAEI, LAGS, LAEP, LAMC)/ 19
Mme Y.ZAMOUM (yzamoum6@gmail.com) : Groupes (LAPH, LARM, LATH, LAMU, LAFP) /19
Durée : 16 h00 _ 18 h00 Date : 16 / 06 / 2021

Examen Langage de Programmation Scientifique

Exercice n°1:
Soit deux vecteurs x et y de même longueur n. Traduire les relations suivantes en langage Matlab :
e bx
a=
∑ ( )
y
Et
∑ ( x ln y )−∑ × ∑ ( lnny )
e 2 bx b=
∑ ( )
y2
2
∑ x 2 −( ∑ x ) / n
Solution de l’exercice n°1:

>> n = 25;
>> x = rand(n,1);
>> y = rand(n,1);
>> b = (sum(x.*log(y))-sum(sum(log(y/n))))/(sum(x.^2)-sum(x)^2/n);
>> a = sum(exp(b*x)./y)/sum(exp(2*b*x)./y.^2);

1
Exercice n°2:
Soient les commandes Matlab, définies dans l’espace de travail, suivant:
>> a = [-4 0; 1 6]; b = [2 -3; 0 -1]; c = [0 9; 5 -7];
>> d = flipud([find(a),find(b),find(c)])
>> e = [min(d'); diag(d)';fliplr(max(d))]
>> f = reshape(e(1:2,2:3),4,1)
>> g = [f';[sum(f) 0,size(f)]]
>> h = tril (g(:,3:4))
>> I = rot90([c(:),b(:),a(:)],2)
>> J = diag(reshape(find(I),3,3))
>> k = [I(J) min(I([2;4],:))']
>> m = [h d([2;3],1:3);k e]
Donner les résultats qui seront affichés dans l’espace de travail de Matlab, sans oublier de montrer la
solution de chaque étape intermédiaire 
Solution de l’exercice n°2:

>> a = [-4 0; 1 6]; b = [2 -3; 0 -1]; c = [0 9; 5 -7];

>> d = flipud([find(a),find(b),find(c)])

d=

4 4 4
2 3 3
1 1 2

>> e = [min(d'); diag(d)';fliplr(max(d))]

e=

4 2 1
4 3 2
4 4 4

>> f = reshape(e(1:2,2:3),4,1)

f=

2
3
1
2

>> g = [f';[sum(f) 0,size(f)]]

g=

2
2 3 1 2
8 0 4 1
>> h = tril (g(:,3:4))

h=

1 0
4 1

>> I = rot90([c(:),b(:),a(:)],2)

I=

6 -1 -7
0 -3 9
1 0 5
-4 2 0

>> J = diag(reshape(find(I),3,3))

J=

1
6
11

>> k = [I(J) min(I([2;4],:))']

k=

6 -4
-3 -3
5 0

>> m = [h d([2;3],1:3);k e]

m=

1 0 2 3 3
4 1 1 1 2
6 -4 4 2 1
-3 -3 4 3 2
5 0 4 4 4

3
Exercice n°3:
Soient les commandes Matlab, définies dans l’espace de travail, suivant:
>> a = [0 2 3; 4 5 6]; b = [1 0 2; 6 5 0]; c = [0 1 0; 1 1 0];
>> d = a+j*b
>> e = b((b>=d))
>> if islogical(c),f = a(c)
>> else g = a(logical(c))
>> end
>> r = ((a~=b)&(a|b))|(a&~b)
>> s = b(r)
>> y = (a~=b)|(b==5)
>> z = a(y)

Donner les résultats qui seront affichés dans l’espace de travail de Matlab, sans oublier de montrer la
solution de chaque étape intermédiaire |

Solution de l’exercice n°3:

>> a = [0 2 3; 4 5 6]; b = [1 0 2; 6 5 0]; c = [0 1 0; 1 1 0];


>> d = a+j*b

d=

0.0000 + 1.0000i 2.0000 + 0.0000i 3.0000 + 2.0000i


4.0000 + 6.0000i 5.0000 + 5.0000i 6.0000 + 0.0000i

>> e = b((b>=d))

e=

1
6
5

>> if islogical(c),f = a(c)


else g = a(logical(c))
end

g=

4
2
5

4
>> r = ((a~=b)&(a|b))|(a&~b)

r=

2×3 logical array

1 1 1
1 0 1

>> s = b(r)

s=

1
6
0
2
0

>> y = (a~=b)|(b==5)

y=

2×3 logical array

1 1 1
1 1 1

>> z = a(y)

z=

0
4
2
5
3
6

5
Exercice n°4:
−1
Soit la fonction : y ( z ) =b2 . ( b2 +2 ab . z + z 2 ) avec z= j . w
1. Ecrire un fichier de fonction margfz.m qui admet comme arguments d’entrées, les scalaires a,b
et le vecteur w , et comme arguments de sorties le module m et l’argument theta en degré de la
fonction y(z). le fichier de la fonction doit commencer par l’instruction suivante :
Fonction [m,theta] = margfz(a,b,w)
Solution de l’exercice n°4:

function [m,theta] = margfz(a,b,w)

j=sqrt(-1);
z = j*w;
y = b^2*1./(b^2+2*a*b*z+z.^2);

m = abs(y);
theta = angle(y)*180/pi;

2. Sachant que les valeurs du vecteur w[0.01 10] suivent une échelle on linéaire logarithmique
avec un nombre de point égale à 100, écrire un fichier script(programme) abfz.m qui permet
d’exécuter le fichier margfz.m, si nous considérons, par exemple, b= 2 et a=[0,5 0,7 1,0] .
Utiliser la structure de contrôle pour.

clc
clear all

b = 2;
a = [0.5 0.7 1.0];
w = 0.01:(10-0.01)/(100-1):10;
n = length(a);

for k=1:n,
[m(k,:),theta(k,:)] = margfz(a(k),b,w);
end

Vous aimerez peut-être aussi