MATLABの関数
関数について
MATLABは関数型言語に分類される。なので、関数の中で関数が宣言できたりもする。関数と関数ファイルは関係性が深い。それらの関係性から、関数は大きく分けて「基本関数」と「サブ関数」に分類される。
- 基本関数 -> 関数ファイルと同じ名前で、ファイルの一番最初に記述される関数。
- サブ関数 -> 関数ファイル内で、基本関数以外の関数。
1. 関数の呼び出し方
関数には入力引数と出力引数が存在して(C言語での引数と返り値に相当)、それぞれ複数指定可能である。基本文法は次のような感じ。
[y1, y2, …] = func(x1, x2, …)
出力引数が1つの場合は[]が省略できる。また、引数がない場合は、()が省略できる。下のは呼び出し方の例。
A = [1 3 5] B = [10 6 4] max(A) max(A, B) [maxA, location] = max(A)
2. 関数の定義の仕方
関数定義の基本文法は次のような感じ。
function [y1, …, yN] = func_name(x1, …, xN) % 関数本体 end
出力引数が1つの場合は[]が省略可能。endは状況によって省略可能だが、書いといたほうが無難。
3. 関数ポインタ的な指定方法
「@関数名」で関数を変数に代入できる。
xmin = 0; xmax = pi; f = @myFunc; a = integral(f, xmin, xmax) function y = myFunc(x) y = sin(x).^3; end