# mtlb_i

Fonction d'émulation de l'insertion de Matlab

## Description

Dans plusieurs cas particuliers, l'insertion se comporte différemment dans Matlab et dans Scilab :

- En insérant une matrice dans une variable : Matlab ajuste automatiquement la taille de la variable de retour pour qu'elle corresponde avec la matrice à insérer mais pas Scilab. Par exemple, avec A=1, A([1,2,3,4])=[1,2;3,4]) retourne un message d'erreur dans Scilab alors que dans Matlab on obtient A=[1,2,3,4]. Si des valeurs manquent par rapport aux indices donnés pour insérer, Matlab remplit la valeur de retour avec des zéros.

- Lors de l'insertion de données d'une matrice d'une chaîne de caractères : étant donné que les matrices de chaînes de caractères peuvent être adressées comme tout autre type de matrice dans Matlab (chaque caractère peut être adressé), l'insertion à partir dans une telle matrice ne change pas des autres types. Mais dans Scilab ceci ne peut être fait de la même manière... `mtlb_is` est une alternative.

La fonction `A=mtlb_i(A,k,B)` est utilisée par `mfile2sci` pour remplacer `A(k)=B` quand il n'était pas possible de savoir ce qu'étaient les opérandes pendant la conversion d'un code Matlab vers Scilab. Cette fonction va déterminer la sémantique correcte pendant l'exécution. Pour obtenir un code plus performant on peut remplacer les appels à `mtlb_i` :

- Si `A` n'est pas un vecteur `A=mtlb_i(A,k,B)` peut être remplacé par `A(k)=B`

- Si `A` et `B` sont des vecteurs lignes ou colonnes `A=mtlb_i(A,k,B)` peut être remplacé par `A(k)=B`

Attention : `mtlb_i` ne doit pas être utilisée pour une programmation manuelle.

## Voir aussi

- Chaines_de_caracteres_Matlab-Scilab
- mtlb_is