File: mtlb_eval.xml

package info (click to toggle)
scilab 5.2.2-9
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 334,832 kB
  • ctags: 52,586
  • sloc: xml: 526,945; ansic: 223,590; fortran: 163,080; java: 56,934; cpp: 33,840; tcl: 27,936; sh: 20,397; makefile: 9,908; ml: 9,451; perl: 1,323; cs: 614; lisp: 30
file content (100 lines) | stat: -rw-r--r-- 4,053 bytes parent folder | download
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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
<?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_eval">
  <info>
    <pubdate>$LastChangedDate$</pubdate>
  </info>
  <refnamediv>
    <refname>mtlb_eval</refname>
    <refpurpose>Fonction d'émulation de la fonction Matlab eval</refpurpose>
  </refnamediv>
  <refsection>
    <title>Description</title>
    <para>L'équivalent Scilab pour la fonction Matlab <literal>eval</literal> est différent suivant ses entrées et sorties.</para>
    <para>
    La fonction <literal>mtlb_eval(str1,str2)</literal> est utilisée par
    <literal>mfile2sci</literal> pour remplacer <literal>eval</literal> parce qu'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_eval</literal> :
    </para>
    <itemizedlist>
      <listitem>
        <para>
        Pour les appels avec une entrée et pas de sortie,
        <literal>mtlb_eval(str1)</literal> peut être remplacé par <literal>evstr(str1)</literal>
	si <literal>str1</literal> est une expression Scilab valid
	ou par <literal>execstr(str1)</literal> 
	si <literal>str1</literal> est une instruction Scilab valid.
        </para>
      </listitem>
      <listitem>
        <para>
        Pour les appels avec une entrée et une sortie,
        <literal>val=mtlb_eval(str1)</literal> peut être remplacé par <literal>val=evstr(str1)</literal>
	si <literal>str1</literal> est une instruction Scilab valid.
        </para>
      </listitem>
      <listitem>
        <para>
        Pour les appels avec deux entrées et une sortie,
        <literal>mtlb_eval(str1,str2)</literal> peut être remplacé par:
	<literal>
	if execstr(str1,"errcatch")&lt;&gt;0 then
	  execstr(str2);
	end	  
	</literal>
	si <literal>str1</literal> et <literal>str2</literal> sont des instructions Scilab valides.
        </para>
      </listitem>
      <listitem>
        <para>
        Pour les appels avec une entrée et plus d'une sortie,
        <literal>[val1,val2,...]=mtlb_eval(str1)</literal> peut être remplacé par:
	<literal>execstr("[val1,val2,...]"+str1)</literal>
	si <literal>str1</literal> est une instruction Scilab valide.
        </para>
      </listitem>
      <listitem>
        <para>
        Pour les appels avec deux entrées et plus d'une sortie,
        <literal>[val1,val2,...]=mtlb_eval(str1,str2)</literal> peut être remplacé par:
	<literal>
	if execstr("[val1,val2,...]"+str1,"errcatch")&lt;&gt;0 then
	  execstr("[val1,val2,...]"+str2);
	end	  
	</literal>
	si <literal>str1</literal> et <literal>str2</literal> sont des instructions Scilab valides.
        </para>
      </listitem>
    </itemizedlist>
    <para>Attention : <literal>mtlb_eval</literal> ne doit pas être utilisée pour une programmation manuelle.</para>
  </refsection>
  <refsection>
    <title>Voir Aussi</title>
    <simplelist type="inline">
      <member>
        <link linkend="evstr">evstr</link>
      </member>
      <member>
        <link linkend="execstr">execstr</link>
      </member>
    </simplelist>
  </refsection>
  <refsection>
    <title>Auteurs</title>
    <simplelist type="vert">
      <member>V.C.</member>
    </simplelist>
  </refsection>
</refentry>