1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
|
<?xml version="1.0" encoding="UTF-8"?>
<!--
* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
* Copyright (C) 2002-2004 - INRIA - Vincent COUVERT
*
* This file must be used under the terms of the CeCILL.
* This source file is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
* are also available at
* http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
*
-->
<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" version="5.0-subset Scilab" xml:lang="fr" xml:id="mtlb_logic">
<info>
<pubdate>$LastChangedDate$</pubdate>
</info>
<refnamediv>
<refname>mtlb_logic</refname>
<refpurpose>Fonction d'émulation des opérateurs logiques de Matlab</refpurpose>
</refnamediv>
<refsection>
<title>Description</title>
<para>Dans plusieurs cas particuliers, les opérateurs logiques se comportent différemment dans Matlab et dans Scilab :</para>
<itemizedlist>
<listitem>
<para>
Avec des opérandes complexes : Les opérateurs <literal><</literal>, <literal><=</literal>,
<literal>></literal> et <literal>>=</literal> ne peuvent pas être utilisés dans Scilab
avec des opérandes complexes alors que cela est possible dans Matlab. Dans ce cas,
seule la partie réelle des opérandes est comparée.
</para>
</listitem>
<listitem>
<para>
Avec des matrices vides : Si les deux opérandes des opérateurs <literal><</literal>, <literal><=</literal>,
<literal>></literal> and <literal>>=</literal> sont des matrices vides, Scilab renvoie un message d'erreur
alors que Matlab retourne une matrice vide. Pour les opérateurs <literal>==</literal> et <literal>~=</literal>,
si au moins une opérande est une matrice vide alors Matlab renvoie [] alors que Scilab
retourne un booléen %T ou %F.
</para>
</listitem>
</itemizedlist>
<para>
La fonction <literal>mtlb_logic(A,symbol,B)</literal> (avec "symbol" une chaîne de caractères contenant
le symbole de l'opérateur) est utilisée par
<literal>mfile2sci</literal> pour remplacer <literal>A symbol B</literal> 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 à <literal>mtlb_logic</literal> :
</para>
<itemizedlist>
<listitem>
<para>
Si <literal>A</literal> et <literal>B</literal> ne sont pas des complexes ni des matrices vides
<literal>mtlb_logic(A,symbol,B)</literal> peut être remplacé par <literal>A symbol B</literal>
</para>
</listitem>
</itemizedlist>
<para>Attention : <literal>mtlb_logic</literal> ne doit pas être utilisée pour une programmation manuelle.</para>
</refsection>
<refsection>
<title>Auteurs</title>
<simplelist type="vert">
<member>V.C.</member>
</simplelist>
</refsection>
</refentry>
|