• Aucun résultat trouvé

II. Accéder aux éléments d’une matrice

N/A
N/A
Protected

Academic year: 2022

Partager "II. Accéder aux éléments d’une matrice"

Copied!
8
0
0

Texte intégral

(1)

TP 4 : Les matrices en Scilab

Pré-requis : avant d’entamer ce TP, il faut avoir lu / compris / effectué les manipulations présentes dans le cours «Chapitre 5 : Manipulation de matrices dansScilab».

I Dans le dossierInfo_1a, créez le dossier TP_4.

I. Écrire des matrices en Scilab

I.1. Création explicite

I Évaluer dans la consoleA=[1,4,5;0,3,2;9,3,4]etB=[1,4,5;9,3,8]etC=[7,4;2,1;1,0;9,8;1,2]. Écrire ci-dessous le résultat obtenu.

I À quoi servent les délimiteurs «;» et «,» lors de la création de matrices ?

I Évaluer dans la console D=[A;B]puis E=[D,C]. Écrire ci-dessous le résultat.

I Évaluer dans la console [A,B]. Écrire ci-dessous le message d’erreur obtenu.

I Évaluer dans la console [B;C]. Écrire ci-dessous le message d’erreur obtenu.

I Commenter cette utilisation des délimiteurs «;» et «,». À quoi doit-on faire attention ?

(2)

I Évaluer[[A;B],C]. Quelle est la matrice créée ? À quoi servent les crochets[]?

I Quel est le résultat des appels [A],[[A]] et[[[A]]]? Préciser l’utilisation des crochets[].

I Évaluersize(A) puis size(B)etsize(C). Noter ci-dessous le résultat obtenu.

À quoi sert la fonctionsizeen Scilab?

I Évaluer de mêmelength(A) puislength(B) etlength(C).

Noter ci-dessous le résultat obtenu. À quoi sert la fonctionlengthen Scilab?

I.2. Création par opérateurs

I Évalueru = 3:12,v = 3:2:12,v = 3:4:12,z = 12:-1:3 ett = 3:-1:12.

I Conclure quant à l’utilité de l’opérateur «:».

La commandea:pas:b permet de créer

La matrice ligne créée contient points La commandea:b correspond à la commande

I Évaluerzeros(1,2),zeros(1,4),zeros(1,7)et enfin zeros(3,5). Conclure quant à l’utilité de la fonctionzeros.

I Évaluerones(1,2),ones(1,4),ones(1,7)et enfin ones(3,5). Conclure quant à l’utilité de la fonctionones.

(3)

I Évaluerrand(1,2),rand(1,4),rand(1,7)et enfin rand(3,5). Conclure quant à l’utilité de la fonctionrand.

I Évaluerlinspace(3,12,5),linspace(3,12,10),linspace(3,12,100). Conclure quant à l’utilité de la fonctionlinspace.

La commandelinspace(a,b,n) permet de créer

Elle peut être simulée par l’appela: :b

I Évaluer linspace(3,12). Conclure quant à la valeur de n utilisée par défaut dans la commande linspace. Que vaut le pas dans ce cas ?

La commandelinspace(a,b) permet de créer

Elle peut être simulée par l’appela: :b

II. Accéder aux éléments d’une matrice

II.1. Accéder à un élément

I ÉvaluerA(1,1),A(1,2),A(1,3)etA(3,2). À quelles valeurs accède-t-on grâce à ces appels ?

I ÉvaluerA(1),A(4),A(7)etA(6). À quelles valeurs accède-t-on grâce à ces appels ? En conclure sur l’ordre que l’on peut utiliser pour accéder aux éléments d’une matrice.

I ÉvaluerA(1,5) puisA(11). Expliquer le message d’erreur obtenu.

II.2. Accéder à plusieurs éléments

I ÉvaluerA(1,:),A(2,:),A(3,:). À quelles valeurs deAaccède-t-on grâce à ces appels ?

A(:,1) A(:,2) A(:,3) A

(4)

I ÉvaluerA(2:3,1),A(2:3,:),A(2:3,2:3).

À quelles valeurs deA accède-t-on grâce à ces appels ?

I Conclure quant à l’utilité de la commandeA(i:j,k:l).

A(i:j,k:l)sélectionne les cœfficients de la ligne à la ligne et de la colonne à la colonne .

I Évaluerx = 2:3:9 puisA(x). À quelles valeurs deA accède-t-on grâce à cet appel ?

I ÉvaluerA([1,3],1). À quelles valeurs deA accède-t-on grâce à cet appel ?

III. Un exercice d’application

I Écrire un programme qui demande à l’utilisateur d’entrer au clavier :

× la valeur d’un entier m,

× la valeur d’un entier n,

× la valeur d’un réel a,

× la valeur d’un réel b,

et qui crée d’abord la matrice de taille (m+1,n) qui contient :

× des 1 sur la sous-matrice contenant les lignes de 1 àm et les colonnes de 1 à n,

× contientn valeurs régulièrement espacées entrea etb sur la dernière ligne (lignem+1).

et ajoute comme dernière colonne (colonne n+1) :

× le vecteur colonne contenant toutes les valeurs entières entre1 etm+1.

On affichera la matrice obtenue.

(5)

IV. Opérations entre matrices

IV.1. Somme, produit, élévation à une puissance entière

I ÉvaluerA=[1,4,5;0,3,2;9,3,4],B=[1,4,5;9,3,8],C=[7,4;2,1;1,0;9,8;1,2],d=[4;5;1]. Écrire ci-dessous le résultat obtenu.

I ÉvaluerE=[[A;B],C] puisE([2,5],3:5) et expliquer le résultat obtenu.

I ÉvaluerB+E etE-B. Expliquer le résultat obtenu.

I ÉvaluerA+B etB+C. Noter le message d’erreur obtenu et expliquer.

I Évaluer2?A puis3?B. Expliquer le résultat obtenu.

I ÉvaluerB?A puisC?B. Expliquer le résultat obtenu.

(6)

I ÉvaluerA?B puisB?C. Noter le message d’erreur obtenu et expliquer.

I ÉvaluerA3 puis A?A?A. Noter le résultat obtenu et expliquer.

IV.2. Autres opérations

I ÉvaluerA',B',C' etd'. Écrire ci-dessous le résultat obtenu.

I À quoi sert l’opérateur '?

I Évaluerd?d'etd'?d. Expliquer la taille des matrices obtenues.

I Évaluer[1:3]'?[1:3]. Comment peut-on obtenir, par un produit de matrices, une matrice repré- sentant les tables de multiplications classiques ?

I Évaluerinv(A),A(-1),inv(A)?A etA?inv(A). Commenter le résultat obtenu.

I Évaluerx=A\d puisA?x. Noter le résultat obtenu et expliquer l’utilité de l’opérateur \.

x=A\d est la solution de l’équation matricielle :A? =

I ÉvaluerA(-1)?d. Expliquer le résultat obtenu.

(7)

V. Opérations termes à termes

I Évaluersum(d),prod(d) puissum(A),prod(A). À quoi servent ces opérateurs ?

I Évaluercumsum(d),cumprod(d)puiscumsum(A),cumprod(A). À quoi servent ces opérateurs ?

I ÉvaluerA.?A,B.?B,d.?d. À quoi sert l’opérateur .??

I ÉvaluerA.?B. Expliquer le message d’erreur obtenu.

I ÉvaluerB./B etd./d. À quoi sert l’opérateur./?

I ÉvaluerA./A etC./C. Noter le message d’erreur obtenu et expliquer.

I Évaluer2./B. Un message d’alerte apparaît.

Évaluer alors2 ./B et expliquer le résultat obtenu.

I ÉvaluerB.(3) etB.?B.?B. Expliquer l’utilité de l’opérateur .

(8)

VI. Fonctions prédéfinies et matrices

I Évaluersqrt(A) puis exp(A). Commenter le résultat obtenu.

I Évaluerlog(B) puislog(A). Expliquer le message d’erreur obtenu.

I Évaluer8+A.

I Commenter la pertinence des calculs précédents. À votre avis, pourquoi peut-on se servir enScilab d’opérateurs non définis dans le cours de mathématiques ?

I Évaluert = [1,5,2,3,8,14,7,3,1,6,12] puis find(t<5)etfind(t==5). À quoi sert l’opérateur find?

VII. En Scilab, tout est matrice !

I Évaluersize(3.8) puissize(%t) etsize("bonjour").

I Évaluertypeof(A).

I Que peut-en en conclure sur les typesconstant,boolean etstring? Le type constantregroupe

Le type booleanregroupe

Le type stringregroupe

Références

Documents relatifs

s’appellent les coefficients de la diagonale ou coefficients diagonaux. 2) La matrice identité d’ordre ݊ est la matrice carrée d’ordre ݊ dont tous les coefficients sont nuls

Dans le cas où une matrice est diagonalisable, la trace est égale à la somme des valeurs propres (comptées autant de fois que la dimension des sous espaces propres associés) En

(On d´ etaillera avec soin les diff´ erentes ´ etapes

Calculer les valeurs propres

Sélectionner la classe à évaluer. Sélectionnez la matière, la période. Remarque : Si la période est grisée cela signifie que les périodes sont bloquées pour la

Lorsqu’un raisonnement utilise le r´ esultat d’une question pr´ ec´ edente, il est demand´ e au candidat d’indiquer pr´ ecis´ ement le num´ ero de la question utilis´ ee. F

Or M est un espace de dimension finie donc toutes les normes d´ efinies sur M sont ´ equivalentes... Or 0 est une valeur propre double, la matrice n’est donc

En développant par multilinéarité on obtient une somme de 2 n déterminants... On pourrait tenter un raisonnement