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