Monsieur Excel
Pour tout savoir faire sur Excel !

03 juin 2010

Et pourquoi pas ProduitMat() ?

Pour faire le lien entre les deux derniers articles, on pourrait se demander pourquoi, dans la présentation des chaînes de Markow, je n’ai pas utilisé la fonction produitmat()

En fait, il était tout à fait possible d’obtenir le même résultat à l’aide des formules suivantes, elles aussi entrées sous forme matricielle :

En C10 : =produitmat(transpose(B$18:B$22);$B$2:$B$6)
En C11 : =produitmat(transpose(B$18:B$22);$C$2:$C$6)
En C12 : =produitmat(transpose(B$18:B$22);$D$2:$D$6)
En C13 : =produitmat(transpose(B$18:B$22);$E$2:$E$6)
En C14 : =produitmat(transpose(B$18:B$22);$F$2:$F$6)

Si vous entrez ces formules et les recopiez vers la droite, vous obtenez en effet exactement le même résultat que dans l’article précédent.

Remarque 1 – Cette nouvelle formule est plus longue car il faut transposer le vecteur d’état pour le rendre horizontal.

Remarque 2 – On pourrait aussi utiliser dans tout le bloc une formule matricielle unique, mais ce ne serait pas plus simple à comprendre...

Remarque 3 – Il y a une grande différence dans le résultat avec la solution proposée il y a quatre jours. Supposons que, dans les quatre cellules de la matrice de transition contenant la valeur « 0 », vous ayez laissé ces cellules vides. Avec les nouvelles formules, vous auriez obtenu le résultat suivant :

Seules les cellules C12 et C13 aboutissent à un résultat : en effet, les blocs D2:D6 et E2:E6 sont les seules colonnes de la matrice de transition ne contenant pas de cellule vide…

Pour la multiplication d’un vecteur par une matrice – et il en serait de même pour la multiplication de deux matrices –, la formule matricielle directe, vue dans l’article précédent, est donc plus robuste que la formule utilisant produitmat()