<?xml version="1.0" encoding="UTF-8"?>

<!--
 * Scilab ( https://www.scilab.org/ ) - This file is part of Scilab
 * Copyright (C) 2008 - INRIA
 * ...
 *
 * Copyright (C) 2012 - 2016 - Scilab Enterprises
 *
 * This file is hereby licensed under the terms of the GNU GPL v2.0,
 * pursuant to article 5.3.4 of the CeCILL v.2.1.
 * This file was originally licensed under the terms of the CeCILL v2.1,
 * and continues to be available under such terms.
 * For more information, see the COPYING file which you should have received
 * along with this program.
 *
 -->

<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="feval" xml:lang="ja">

    <refnamediv>

        <refname>feval</refname>

        <refpurpose>関数(または外部ルーチン)を評価する</refpurpose>

    </refnamediv>

    <refsynopsisdiv>

        <title>呼び出し手順</title>

        <synopsis>[z]=feval(x,y,f)

            [z]=feval(x,f)

        </synopsis>

    </refsynopsisdiv>

    <refsection>

        <title>引数</title>

        <variablelist>

            <varlistentry>

                <term>x,y</term>

                <listitem>

                    <para>ベクトル</para>

                </listitem>

            </varlistentry>

            <varlistentry>

                <term>f</term>

                <listitem>

                    <para>関数または文字列 (Fortran または C コール用)</para>

                </listitem>

            </varlistentry>

        </variablelist>

    </refsection>

    <refsection>

        <title>説明</title>

        <para>

            ベクトル型の1つまたは2つの引数をとる関数について,以下のように

            複数回の評価を行ないます :

        </para>

        <variablelist>

            <varlistentry>

                <term>z=feval(x,f)</term>

                <listitem>

                    <para>

                        <literal>z(i)=f(x(i))</literal>で定義される

                        ベクトル <literal>z</literal> を返します.

                    </para>

                </listitem>

            </varlistentry>

            <varlistentry>

                <term>z=feval(x,y,f)</term>

                <listitem>

                    <para>

                        <literal>z(i,j)=f(x(i),y(j))</literal> となる

                        行列 <literal>z</literal> を返します.

                    </para>

                </listitem>

            </varlistentry>

        </variablelist>

        <para>

            <literal>f</literal> は<link linkend="external">外部</link>

            (関数またはルーチン)で,

            1つまたは2つの実数の引数をとります.

            <literal>f</literal> により返される結果は,実数または複素数となります.

            Fortran コールの場合,関数 <literal> 'f' </literal> を

            (ディレクトリ<literal>SCI/modules/differential_equations/src/c</literal>の)

            サブルーチン<literal>fevaltable.c</literal>の中で

            定義する必要があります.

        </para>

    </refsection>

    <refsection>

        <title>例</title>

        <programlisting role="example"><![CDATA[
deff('[z]=f(x,y)','z=x^2+y^2');
feval(1:10,1:5,f)
deff('[z]=f(x,y)','z=x+%i*y');
feval(1:10,1:5,f)
feval(1:10,1:5,'parab')   //See ffeval.f file
feval(1:10,'parab')
// For dynamic link (see example ftest in ffeval.f)
// you can use the link command (the parameters depend on the machine):
// unix('make ftest.o');link('ftest.o','ftest'); feval(1:10,1:5,'ftest')
 ]]></programlisting>

    </refsection>

    <refsection role="see also">

        <title>参照</title>

        <simplelist type="inline">

            <member>

                <link linkend="evstr">evstr</link>

            </member>

            <member>

                <link linkend="horner">horner</link>

            </member>

            <member>

                <link linkend="execstr">execstr</link>

            </member>

            <member>

                <link linkend="external">external</link>

            </member>

            <member>

                <link linkend="link">link</link>

            </member>

        </simplelist>

    </refsection>

</refentry>

