Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
2023.1.0 - Français


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

Report an issue
<< mtlb_hold Fonctions compatibles mtlb_fft >>

Copyright (c) 2022-2024 (Dassault Systèmes)
Copyright (c) 2017-2022 (ESI Group)
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Mon May 22 12:39:48 CEST 2023