2
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 :

TD 3bis : Matrices, vecteurs et Scilab - Corrigé · PDF file · 2017-11-12Title (Microsoft Word - TD3bis - Matrices, vecteurs et Scilab_corrig\351.docx) Author: Michel Created Date:

  • 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)