Université Paris Descartes — UFR Math-Info Année 2015

publicité
Université Paris Descartes — UFR Math-Info
Année 2015-2016
Licence 2e année
Environnement de Calcul Scientifique et Modélisation
page web du cours : http://www.mi.parisdescartes.fr/˜moisan/ecs/
Contrôle continu terminal (9 mai 2016) — durée : 1h30
Tous documents et calculatrices interdits.
Exercice 1
Écrire, dans chaque cas ci-dessous, le résultat affiché par Scilab après exécution de la ligne
proposée. On détaillera bien les étapes intermédiaires.
a) A=matrix(12:-1:1,3,4);A(:,2)=[];A=A(2:$,[1,4]);A’
b) v=linspace(1,3,5);for i=1:2;v=[v(2:2:$),i,v(1:2:$)];end;v
c) A=[toeplitz(1:3),matrix(4:9,3,2);(-1).^(1:5)]
d) A=[1,-3,2;0,3,-1;2,-1,-3];A(:,and(A>=0,1))=0;sum(A,2)*ones(1,3)
e) A=kron([1,0;0,4],[1,1;2,-1]);cumsum(diag(diag(A)),2)
Exercice 2
a) On souhaite calculer la valeur de ex − 1 pour x = 10−30 . Expliquer pourquoi la ligne
Scilab ci-dessous renvoie 0.
x=10^{-30};exp(x)-1
b) Écrire une fonction Scilab expmoins1 qui prend en entrée un réel x et renvoie le réel y
défini par

x

 e − 1 si |x| > 1,


3
y=
X
xk


sinon.


k!
k=1
1
Exercice 3
Écrire, sans utiliser de boucle, des fonctions Scilab qui répondent aux spécifications
données :
a) La fonction matrice prend en entrée deux vecteurs lignes x et y de même taille (disons
n), et renvoie une matrice A = (ai,j ) carrée d’ordre n définie par
ai,j =
1
+ ln(1 + x2j + yj2 ).
1 + |xi |
b) La fonction extrait prend en entrée une matrice A et renvoie la sous-matrice de A
constituée des colonnes de A qui ne contiennent aucun coefficient nul.
c) La fonction decompose prend entrée un polynôme à coefficients réels P (de la variable
X) et renvoie deux polynômes Q et R (de la variable X également) tels que P = Q−R, et tous
les coefficients de P et Q sont positifs ou nuls. Par exemple si P = X 4 − 3X 3 + 2X 2 − X − 1
la fonction doit retourner Q = X 4 + 2X 2 et R = 3X 3 + X + 1.
d) La fonction combine prend en entrée deux matrices A = (ai,j ) et B = (bi,j ) de même
taille et renvoie une matrice C = (ci,j ) de même taille que A et B dont le terme général est
défini par

 ai,j si bi,j > 0,
ci,j =
 b
sinon.
i,j
Exercice 4
a) Écrire une fonction Scilab diviseurs qui prend en entrée un entier naturel n et renvoie
un vecteur d dont les coefficients sont les diviseurs (stricts) de n, c’est-à-dire les éléments de
{1, 2, . . . , n − 1} qui divisent n. Par exemple, diviseurs(12) doit renvoyer le vecteur [1,2,3,4,6].
Cette fonction ne doit pas utiliser de boucle.
b) Un entier naturel n est dit parfait s’il est égal à la somme de ses diviseurs stricts. Par
exemple, 6 est un nombre parfait car 1 + 2 + 3 = 6. Écrire une fonction Scilab parfaits qui
prend en entrée un entier naturel n et renvoie dans un vecteur p la liste des nombres parfaits
inférieurs ou égaux à n.
2
Téléchargement