Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Please login or create an account
Change language to: English - Français - Português -

Please note that the recommended version of Scilab is 6.0.1. This page might be outdated.
See the recommended documentation of this function

Scilab help >> Functions > function

function

関数定義をオープンする

endfunction

関数定義を閉じる

説明

function <lhs_arguments>=<function_name><rhs_arguments>
  <statements>
endfunction

ただし,

<function_name>

は関数の名前を意味します.

<rhs_arguments>

は入力引数のリストを意味します.

  • これは,(x1,...,xm)のように括弧で括った カンマ区切りの変数名の一覧となります. 最後の変数名はキーワードvararginとすることも可能です (varargin 参照)

  • 関数に入力引数がない場合, () または何も付けません.

<lhs_arguments>

は出力引数のリストを意味します.

  • これは,[y1,...,yn]のように角括弧で括ったカンマ区切りの 変数名の一覧となります. 最後の変数名はキーワード varargout ( varargout 参照)とすること が可能です.

  • 関数が出力引数を持たない場合,[] を指定します. この場合,構文を以下のようにすることも可能です: function <function_name><rhs_arguments>

<statements>

Scilab命令(ステートメント)の集合を意味します. この構文は,インラインまたはスクリプトファイル(exec 参照)の中で 関数を定義する (functions 参照)ために使用できます. 古いバージョンのScilabとの互換性のため, function 定義のみを含むスクリプトファイルで定義された関数は, exec関数によりScilabに"ロードする"ことができます.

function <lhs_arguments>=<function_name><rhs_arguments> のシーケンスは複数の行に分割することができません. このシーケンスはカンマまたはセミコロンを終端に付けることにより, 同じ行に命令を続けることができます.

function の定義はネストすることが可能です.

//inline definition (see function)
function [x, y]=myfct(a, b)
x=a+b
y=a-b
endfunction

[x,y]=myfct(3,2)

//行内での関数定義
function y=sq(x),y=x^2,endfunction

sq(3)

//関数定義のネスト
function y=foo(x)
a=sin(x)
function y=sq(x), y=x^2,endfunction
y=sq(a)+1
endfunction

foo(%pi/3)

// スクリプトファイル内での定義 (exec参照)
exec SCI/modules/elementary_functions/macros/asinh.sci;

参照

  • functions — Scilab プロシージャおよび Scilab オブジェクト
  • exec — スクリプトファイルを実行する
  • exec — スクリプトファイルを実行する
Scilab Enterprises
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Thu Mar 03 11:01:00 CET 2011