Getting Started | ![]() ![]() |
関数に文字列引数を渡す
括弧やコーテーションを使わずに文字列引数を受け取るMATLAB関数を作成することができます。つまり、 MATLABは
foo a b c
foo('a','b','c')
として解釈します。しかし、コーテーションなしの形式を使う際には、MATLABは出力引数を出力できません。たとえば、
legend apples oranges
は、文字列 apples
と oranges
をラベルとして使ってプロットに凡例を作成します。legend
コマンドにより出力引数を出力させたい場合は、コーテーション付きの形式を使う必要があります。
[legh,objh] = legend('apples','oranges');
さらに、引数が文字列でない場合には、コーテーションなしの形式を使うことができません。
文字列をすばやく作成する
コーテーション形式を使って、コード内で文字列引数を作成することができます。つぎの例題は、複数のデータファイル、August1.dat
,
August2.dat
等を処理します。これは、ファイル名の作成のために整数をキャラクタに変換する関数
int2str
を使います。
for d = 1:31 s = ['August' int2str(d) '.dat']; load(s) % Code to process the contents of the d-th file end
警告に関する注意
コーテーションなしのシンタックスは便利である一方、MATLABはエラーを出力せずに誤って用いられる場合があります。たとえば、行列
A
を与えます。
A = 0 -6 -1 6 2 -16 -5 20 -10
eig
コマンドは、A
の固有値を出力します。
eig(A) ans = -3.0710 -2.4645+17.6008i -2.4645-17.6008i
つぎのステートメントは、A
が文字列でないため利用できませんが、MATLABはエラーを出力しません。
eig A ans = 65
MATLABは、実際は文字A(数値65)と等価なASCII数値の固有値を計算します。
![]() |
グローバル変数 | 関数eval | ![]() |