1 <?xml version="1.0" encoding="UTF-8"?>
3 * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
4 * Copyright (C) 2002-2004 - INRIA - Vincent COUVERT
6 * Copyright (C) 2012 - 2016 - Scilab Enterprises
8 * This file is hereby licensed under the terms of the GNU GPL v2.0,
9 * pursuant to article 5.3.4 of the CeCILL v.2.1.
10 * This file was originally licensed under the terms of the CeCILL v2.1,
11 * and continues to be available under such terms.
12 * For more information, see the COPYING file which you should have received
13 * along with this program.
16 <refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="fr" xml:id="mtlb_a">
18 <refname>mtlb_a</refname>
19 <refpurpose>Fonction d'émulation de l'addition Matlab</refpurpose>
22 <title>Description</title>
23 <para>Dans plusieurs cas particuliers, l'addition se comporte différemment dans Matlab et dans Scilab :</para>
27 Avec des opérandes de type chaîne de caractères : L'opérateur <literal>+</literal>
28 est utilisé dans Scilab pour concaténer des chaînes de caractères alors que
29 Matlab calcule la somme des codes ASCII des opérandes.
34 Avec une matrice vide : Dans Scilab, si une des
35 opérandes est une matrice vide alors le résultat de l'addition est
36 l'autre opérande. Dans Matlab si une des opérandes est une matrice
37 vide alors le résultat de l'addition est soit une erreur (la seconde opérande n'est pas un scalaire)
38 soit une matrice vide.
43 La fonction <literal>mtlb_a(A,B)</literal> est utilisée par
44 <literal>mfile2sci</literal> pour remplacer <literal>A+B</literal> quand il n'était pas
45 possible de savoir ce qu'étaient les opérandes pendant la conversion d'un code Matlab vers Scilab. Cette fonction va
46 déterminer la sémantique correcte pendant l'exécution. Pour obtenir un code plus performant
47 on peut remplacer les appels à <literal>mtlb_a</literal> :
52 Si <literal>A</literal> et <literal>B</literal> sont des chaînes de caractères,
53 <literal>mtlb_a(A,B)</literal> peut être remplacé par <literal>asciimat(A)+asciimat(B)</literal>
58 Si <literal>A</literal> et <literal>B</literal> ne sont pas des matrices vides
59 <literal>mtlb_a(A,B)</literal> peut être remplacé par <literal>A+B</literal>,
60 sinon <literal>mtlb_a(A,B)</literal> peut être remplacé par
61 <literal>[]</literal>.
68 Attention : <literal>mtlb_a</literal> ne doit pas être utilisée pour une programmation manuelle.
72 <refsection role="see also">
73 <title>Voir aussi</title>
74 <simplelist type="inline">
76 <link linkend="mtlb_s">mtlb_s</link>