Vous êtes sur la page 1sur 4

1

Licence EG - Gestion semestre 5 2022-2023


Initiation à R-Maths appliquées Contrôle continu n°1
durée : 55 minutes

NOM : Prénom :
** on donnera les lignes de code rentrées dans R (console, scripts) et les valeurs numériques.

EXERCICE1 : Le gérant d’un magasin a relevé le nombre d’articles d’un certain produit P par jour sur une
durée de 20 jours. Ses observations se présentent comme suit:
7 7 1 10 1 4 8 3 1 10 4 7 1 7 3 10 8 4 3 3

1°) Calculer la moyenne, variance, et écart-type de cette série statistique, sans utiliser la fonction weighted.mean.
X=matrix(c(7,7,1,10,1,4,8,3,1,10,4,7,1,7,3,10,8,4,3,3), nrow=20, ncol=1, byrow=T);
m=sum(X)/20; (ou bien m=mean(X))
Donc la moyenne de cette série statistique est m=5.1
v=mean(X*X)-m^2
Donc la variance est v=9.59
s=sqrt(v)
Donc l’écart-type est s=3.097

2°) Recalculer la moyenne de cette série en utilisant la fonction « weighted.mean »


X=matrix(c(1,3, 4,7,8,10), nrow=6, ncol=1, byrow=T);
Y=matrix(c(4,4,3,4,2,3),nrow=6, ncol=1, byrow=T)
m=weighted.mean(X,Y)
On retrouve que la moyenne est m=5.1

−x − y + z =1
−x − y + z + t =1 −x − y + z =1
−2x − 10y + z =4
EX 2 : Soient (S1): , (S2): −2x − 10y + t = 4, (S3): −2x − 10y + z =4,
x + y + 3z =5
x + y + 3z − t =5 x + y + 3z =5
−x + 5y =0

1)a) Donner les lignes de codes des matrices A et B telles que (S1) s’écrive AX=B. Puis résoudre (S1). (voir **).
A=matrix(c(-1,-1,1,-2,-10,1,1,1,3,-1,5,0), nrow=4, ncol=3, byrow=T);
B=matrix(c(1,4,5,0),nrow=4,ncol=1,byrow=T);
Ach=cbind(A,B);
qr(A)$rank;
qr(Ach)$rank;
Le rang de A n’est pas le même que celui de Ach: donc, d’après le cours, S1 n’admet pas de solutions.

1)b) A l’aide d’une boucle « for » afficher la liste des déterminants (3,3) de la matrice (A | B). (voir **).
dim(Ach); Ach est de format (4,4): on doit donc enlever une ligne et une colonne pour afficher cette liste.
Mineurs_3=function(Z){
for (i in 1:4){
for (j in 1:4){
print(det(Z[-i,-j]))
}
}
}
2

Mineurs_3(Ach);
On obtient la liste : -35,7,124,66,10,-2,36,24,15,-3,4,-14,30,14,48,32

2) Donner les lignes de codes des matrices définissant le système (S2) puis résoudre (S2). (voir **).

A=matrix(c(-1,-1,1,1,-2,-10,0,1,1,1,3,-1), nrow=3, ncol=4, byrow=T);


B=matrix(c(1,4,5),nrow=3,ncol=1,byrow=T);
Ach=cbind(A,B);
qr(A)$rank;
qr(Ach)$rank;
rg(A)= rg(Ach)=3: et comme le nombre d’inconnues est n=4, donc (S2) admet une infinité de solutions avec 3
inconnues principales et 1 paramètre. Le système étant formé de rg(A)=3 lignes, on n’a pas de lignes à enlever.
On choisit (x,y,z) comme inconnues principales. On pose donc:
P=A[,-4];
det(P)=32 donc P est bien inversible
Q=A[,c(-1,-2,-3)]
solve(P)%*%B;
solve(P)%*%Q;
On obtient que l’ensemble des solutions est { (x,y,z):x=1.125+1.125*t, y= -0.625-0.125*t, z=1.500 }

3)a) Donner les lignes de codes des matrices C et D tels que (S3) s’écrive: CX=D.
C=matrix(c(-1,-1,1,-2,-10,1,1,1,3), nrow=3, ncol=3, byrow=T);
D=matrix(c(1,4,5),nrow=3,ncol=1,byrow=T);

3)b) Donner les valeurs de rg(C ), rg(C | D), det(C ), tr(C ).


On rappelle que la commande « sum(Z) » donne la somme des éléments de la matrice Z.
Cch=cbind(C,D);
qr(C)$rank
qr(Cch)$rank
det(C) : det(C)=32
sum(diag(C)): tr(C)=-8

3)c) Déduire de 3)b) la résolution de (S3). (voir **).


Comme C est inversible, (S3) admet une unique solution à savoir: X=solve(C)%*%B

EXERCICE 3 : 1°) Donner le résultat des commandes suivantes dans R:


7%%5, 6%%2, 8%%3, 0==7%%3, 0==9%%3, 0==10%%2
7%%5=2 6%%2=0 8%%3=2 0==7%%3 : FALSE 0==9%%3 : TRUE
0==10%%2 TRUE

2°) A l’aide de la commande %% , d’une boucle « for » et d’une instruction « if » , écrire une fonction
« Liste_3 », qui prend comme argument un entier n > 1, et affiche la liste (ou bien retourne le vecteur) X de

{X(k) = "error" si k n'est pas divisible par 3


X(k) = k si k est divisible par 3
taille n défini pour tout 1 ≤ k ≤ n par:
3

Liste_3=function(n){
for (k in 1:n){
if ( 0==k%%3){
print(k)
}
else{
print("error")
}
}
}

3°) Donner le résultat de Liste_3(14).


err,err,3,err,err,6,err,err,9,err,err,12,err,err

EXERCICE 4 : En utilisant une boucle « for », construire une fonction « Liste_ones » prenant comme argument
un entier n > 1, et qui retourne (ou bien affiche) la matrice de format (n, n 2 ) suivante:
| | | |
A | 2A | 3A | ⋯ | n A ,
| | | |
où A est la matrice carrée de format (n, n) constituée uniquement de 1.

Liste_ones=function(n){
A_0=matrix(c(rep(1,n*n)), nrow=n, ncol=n, byrow=T)
A=A_0
for (k in 1:(n-1)){
B=(k+1)*A_0
A=cbind(A,B)
}
return(A)
}
4

Vous aimerez peut-être aussi