Upload
doanque
View
213
Download
0
Embed Size (px)
Citation preview
TD 3bis : Matrices, vecteurs et Scilab - Corrigé
Exercice 1 :
u =
8. 5. 2.
v =
- 1. 1. 3.
w =
1. 1. 1.
M =
8. 5. 2.
- 1. 1. 3.
1. 1. 1.
Exercice 2 : On suppose que � est déclaré numériquement et on considère le vecteur � défini par x=1:n.
1. La commande s=sum(x) renvoie le résultat de :
� ��
���= �� + 1
2
y=cumsum(x) renvoie un vecteur constitué des sommes partielles, pour � = 10, on obtient : y =
1. 3. 6. 10. 15. 21. 28. 36. 45. 55.
2. La commande p=prod(x) renvoie le résultat de :
� ��
���= �!
z=cumprod(x) renvoie un vecteur constitué des produits partiels (des factoriels intermédiaires), pour
� = 10, on obtient : z =
1. 2. 6. 24. 120. 720. 5040.
3. La commande x.^x renvoie le vecteur x dont les composantes sont élevées à leur propre puissance :
1� 2� 3� … ��
4. La commande x*ones(n,1) renvoie le résultat du produit de la matrice de taille (1,n) représentée
par le vecteur x par la matrice de taille (n,1) constituée uniquement de 1.
On obtient finalement la somme � ��
���= �� + 1
2
5. La commande ones(1,n)./x renvoie le vecteur %1 �� �
� … ��&
En utilisant la commande de la question 4. :
ones(1,n)./x*ones(n,1) renvoie bien la somme demandée.
6. Voici deux réponses possibles :
n=1
x=1:n
while ones(1,n)./x*ones(n,1)<=10 do n=n+1;x=1:n
end
disp(n)
Ou encore :
n=1
s=1
while s<=10 do n=n+1;s=s+1/n
end
disp(n)
Les deux programmes renvoient la valeur 12367.
Exercice 3 :
1. a=1:10;x=3*ones(1,10)./a Ou directement : x=3*ones(1,10)./(1:10)
2. a=1:10;b=a.^2;y=ones(1,10)./b Ou directement : y=ones(1,10)./(1:10).^2
3. a=1:10;z=3.^a Ou directement : z=3.^(1:10)
Exercice 4 :
1) max(0:7:1000) : la réponse est 994.
2) max(0:7:1000)+7 : la réponse est 1001.
Exercice 5 :
1. On utilise une matrice de même taille que A constituée de 1 et on utilise la commande ./ :
B=ones(2,3)./A
Exemple : le programme A=[2,5,4;8,4,2],B=ones(2,3)./A renvoie :
A =
2. 5. 4.
8. 4. 2.
B =
0.5 0.2 0.25
0.125 0.25 0.5
2.
a=input(‘entrez la valeur de a :’)
b=input(‘entrez la valeur de b :’)
n=input(‘entrez la valeur de n :’)
A= b*ones(n,n)+(a-b)*eye(n,n)
Exercice 6 : d’après EDHEC 2017
n=input(‘entrez une valeur pour n :’)
A=[1,1/2,1/3;0,1,1;0,0,1] ou A=[1 1/2 1/3;0 1 1;0 0 1]
disp(A^n)