6
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

MATLAB-Sample 【基礎】関数を定義する

Last updated at Posted at 2014-07-13

ひとかたまりのロジックを繰り返し使いたい場合に関数化すると便利。

!注意!
関数化する場合は、MATLABの検索パスが通っているディレクトリか、現在のディレクトリ(※)にファイルを作成するのだが、その際**「ファイル名」と「関数名」を同じ名称にする必要がある。**
(※:MATLABの左側にFileBrowserという小窓があると思うが、今まさに表示されているディレクトリの事。)

関数宣言のフォーマット

関数宣言のフォーマットは次のようになっている。

% 【case.0】返り値なし
function function_name(in0, in1, ...)
    ...;
    
    
    

% 【case.1】返り値一つ
function out0 = function_name(in0, in1, ...)
    ...;
    
    
    

% 【case.2】返り値が多値(複数)
function [out0, out1, ...] = function_name(in0, in1, ...)
    ...;
    
    
    

トークンの意味をご紹介。

項目 説明
out0, out1, ... 返り値
function_name 関数名。これをファイル名と合わせること。
in0, in1, ... 関数の引数。

関数を実装

では、今回は四則演算のすべての結果を返すという、いまいち使いどころが分からない関数を作ってみよう。

項目 説明
add, sub, mul, div addが加算、subが減算、mulが乗算、divが除算の結果となる。
calc_4patterns 関数名。これをファイル名と合わせること。
a, b 四則演算対象となる値。

まずは現在のディレクトリに、関数名と同じファイル名のmファイルcalc_4patterns.m」を作成する。
そのファイルの中に次のようなコードを記述する。

function [add, sub, mul, div] = calc_4patterns(a, b)
    add = a + b;
    sub = a - b;
    mul = a * b;
    div = a / b;

これで全ての準備は整った。Matlabのインタラクティブシェルからcalc_4patterns関数を呼び出してみよう。

> %calc_4patterns関数を呼び出す。
> [a, s, m, d] = calc_4patterns(3, 4);

当然のことながら、返り値の変数名は関数定義と同じにする必要はなく、好きな名前を使っていい。
では、返り値の中身を確認してみよう。

> a
ans =
 7
> s
ans =
 -1
> m
ans =
 12
> d
ans =
    0.7500
> 

ちゃんとそれぞれの四則演算ができている。

6
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?