ドキュメンテーション センター

  • 評価版
  • 製品アップデート

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

記号のリファレンス

アスタリスク — *

ファイル名の仕様のアスタリスクは、次に示すように、ワイルドカードの指定子として使用されます。

ファイル名のワイルドカード

一般的にワイルドカードは、複数のファイルやフォルダーを処理するファイル操作で使用されます。通常、ワイルドカードはファイルやフォルダーの仕様を含む文字列で使用されます。MATLAB® では、ワイルドカード文字 * を除き、名前内のすべての文字が完全に一致されます。ワイルドカードは、1 つまたは複数の任意の文字と一致することができます。

名前が 'january_' で始まり、ファイル拡張子が mat である全ファイルを検出するには、次を使用します。

dir('january_*.mat')

また、関数 whowhos でワイルドカードも使用することができます。名前が 'image' で始まり、'Offset' で終わる全変数に関する情報を取得するには、次を使用します。

whos image*Offset

アット — @

@ 記号は、関数ハンドル コンストラクター、または MATLAB クラスをサポートするフォルダーを示します。

関数ハンドル コンストラクター

@ 演算子では、@ 記号の後に続く名前付き関数、または @ 記号の後に続く無名関数のハンドルが作成されます。

一般的な関数ハンドル-  一般的に関数ハンドルは、関数を引数として他の関数に渡す場合に使用されます。次のように、関数名の前に @ 記号を付けて、関数ハンドルを作成します。

fhandle = @myfun

詳細は、function_handleを参照してください。

無名関数のハンドル-  無名関数を使用すると、毎回ファイルで関数を作成しなくても、単純な関数を簡単に作成できます。次の構文を使用して、無名関数と関数へのハンドルを作成できます。

fhandle = @(arglist) body

ここで、body は関数の本体を定義し、arglist は関数に渡すことができる引数のリストです。

詳細は、「無名関数」を参照してください。

クラス フォルダー指定子

@ 記号は、次のようなクラス フォルダーの名前を示すことがあります。

\@myclass\get.m

詳細は、「クラス フォルダーのオプション」のドキュメンテーションを参照してください。

コロン — :

コロン演算子では、配列の作成やインデックス付けに使用できる数列が生成されます。コロン演算子の使用方法の詳細は、「数列の生成」を参照してください。

数列範囲

構文 first:last 使用すると、first (先頭)から last (末尾) まで規則的に間隔をもつ数列を生成できます。6 ~ 17 の増分数列の場合は、次を使用します。

N = 6:17

数列のステップ

構文 first:step:last を使用すると、各数値の間隔が step 値である数列を生成できます。各要素の間隔が 4 である 2 ~ 38 の数列の場合は、次を使用します。

N = 2:4:38

インデックス付け範囲指定子

コロン演算子により行列の複数の行や列のインデックス付けを行い、インデックスの範囲を指定します。

B = A(7, 1:5);          % Read columns 1-5 of row 7.
B = A(4:2:8, 1:5);      % Read columns 1-5 of rows 4, 6, and 8.
B = A(:, 1:5);          % Read columns 1-5 of all rows.

列ベクトルへの変換

次のようにコロン演算子を単一のインデックスとして使用して、行列や配列を列ベクトルに変換できます。

A = rand(3,4);
B = A(:);

代入時の配列形状の保持

次のように代入ステートメントの左側にコロン演算子を使用すると、配列の形状を変更せずに、新しい値を配列要素に代入できます。

A = rand(3,4);
A(:) = 1:12;

コンマ — ,

コンマを使用して、次のような要素を区切ることができます。

行要素区切り文字

次のように配列の作成時にコンマを使用して、同じ行の要素を区切ることができます。

A = [5.92, 8.13, 3.53]

配列インデックス区切り文字

配列をインデックス付けするときにコンマを使用して、インデックスを各次元に区切ることができます。

X = A(2, 7, 4)

関数入出力区切り文字

関数の呼び出し時にコンマを使用して、入出力引数を区切ることができます。

function [data, text] = xlsread(file, sheet, range, mode)

コマンドまたはステートメントの区切り文字

次のように同じ行に複数の MATLAB コマンドやステートメントを入力する際には、コンマで各コマンドやステートメントを区切ります。

for k = 1:10,   sum(A(k)),   end

中かっこ — { }

中かっこを使用して、セル配列のコンテンツを作成または取得できます。

セル配列コンストラクター

セル配列を作成する際には、次のように中かっこですべての配列要素を囲みます。

C = {[2.6 4.7 3.9], rand(8)*6, 'C. Coolidge'}

セル配列のインデックス付け

特定のセル配列要素にインデックスを付けるには、次のように中かっこで全インデックスを囲みます。

A = C{4,7,2}

詳細は、「セル配列」を参照してください。

ドット — .

単一のドットの演算子は、次に示すように、MATLAB でさまざまな方法で使用されます。

小数点

MATLAB では、数値の整数部分と小数部分を区切るためにピリオドを使用します。

構造体フィールドの定義

次に示すように、構造体名の後にドットとフィールド名を続けて、フィールドを MATLAB 構造体に追加します。

funds(5,2).bondtype = 'Corporate';

詳細は、「構造体」を参照してください。

オブジェクト メソッド指定子

次のように、オブジェクト名の後ろにドットとプロパティ名を付けて、MATLAB クラスのインスタンスのプロパティを指定します。

val = asset.current_value

2 つのドット — ..

連続した 2 つのドットは、現在のフォルダーの親を示します。

親フォルダー

2 つのドットを使用して、現在のフォルダーのすぐ上にあるフォルダーを指定します。たとえば、フォルダー ツリーで 2 レベル上に上がり、test フォルダーに移動するには、次を使用します。

cd ..\..\test

3 つのドット (省略記号) -...

3 つの連続するピリオド (...) は、MATLAB の行継続演算子です。この記号はしばしば "省略記号" と呼ばれますが、行継続演算子は 3 文字の演算子であり、ASCII で 16 進数 2026 によって表される 1 文字の省略記号とは異なります。

行継続

次に示すように、MATLAB のコマンドや式を次の行に続けるには、行末に省略記号を配置します。

sprintf('The current value of %s is %d', ... 
         vname, value)

長い文字列の入力-  次に示すように、単一引用符内で省略記号を使用して、文字列を次の行に続けることはできません。

string = 'This is not allowed and will generate an ... 
   error in MATLAB.'

1 行を超える文字列を入力するには、連結演算子 ([])、または関数 sprintf のいずれかを使用して、短い文字列を連結します。

次に 2 つの例を示します。

quote1 = [
 'Tiger, tiger, burning bright in the forests of the night,' ...
 'what immortal hand or eye could frame thy fearful symmetry?'];
quote2 = sprintf('%s%s%s', ...
 'In Xanadu did Kubla Khan a stately pleasure-dome decree,', ...
 'where Alph, the sacred river, ran ', ...
 'through caverns measureless to man down to a sunless sea.');

配列の定義-  MATLAB では、省略記号は空白文字と解釈されます。[] 演算子または {} 演算子内で配列またはセル配列を定義するステートメントでは、配列要素は空白文字によって区切られます。たとえば、

not_valid = [1 2 zeros...
(1,3)]

は、以下と等価です。

not_valid = [1 2 zeros (1,3)]

はエラーを出力します。解釈されたステートメントが有効になるように、次のように省略記号を配置します。

valid = [1 2 ...
         zeros(1,3)]

ドットとかっこ - .( )

ドットと丸かっこを使用して、動的構造体フィールドの名前を指定することができます。

動的構造体フィールド

場合によっては、変化するフィールド名を使用して構造体を参照すると便利なことがあります。たとえば、参照したフィールドを引数として関数に渡す場合などです。動的フィールド名では、構造体フィールドの変数名を指定できます。

次に示す変数 fundtype は、動的フィールド名です。

type = funds(5,2).(fundtype);

詳細は、「変数からフィールド名を生成」を参照してください。

感嘆符 — !

感嘆符は、MATLAB 内から実行したいオペレーティング システム コマンドの前に置きます。

シェル エスケープ

感嘆符は、シェル エスケープ関数を起動します。このような関数は、オペレーティング システムから直接実行できます。

!rmdir oldtests

詳細は、「シェル エスケープ関数 」を参照してください。

丸かっこ — ( )

丸かっこを使用すると、配列の要素のインデックス付けや、呼び出す関数に渡す引数の指定を行うことができます。丸かっこは、演算の順序も制御し、連結関数を呼び出さずに、ベクトルを視覚的にグループ化できます (x = (1:10) など)。

配列のインデックス

変数名の右側に丸かっこがある場合、丸かっこは変数に保存される配列のインデックスを示します。

A(2, 7, 4)

関数入力引数

次に示すように、関数宣言や関数の呼び出し内で関数名の後に丸かっこがある場合、かっこで囲まれた部分は関数で使用される入力引数のリストです。

function sendmail(to, subject, message, attachments)

パーセント — %

通常パーセント記号は、プログラム本体内にある実行不能なテキストを示すために使用されます。このようなテキストは、一般的にコードにコメントを付けるために使用されます。2 つのパーセント記号 %% は、「コード セクションの実行」で説明されるセル区切り記号として機能します。また一部の関数では、パーセント記号が変換指定子として解釈されます。

単一行コメント

コード内の単一行コメントの前には、パーセント記号を付けます。MATLAB では、パーセント記号の後にあるものは実行されません (記号が '%' と引用符で囲まれている場合を除く)。

% The purpose of this routine is to compute 
% the value of ...

詳細は、「コメントのプログラムへの追加」を参照してください。

変換指定子

sscanfsprintf などの一部関数では、次のように変換指定子の前にパーセント記号を付けます。

sprintf('%s = %d', name, value)

パーセント - 中かっこ — %{ %}

%{ および %} の記号では、1 行を超えるコメント ブロックを囲みます。

ブロック コメント

パーセント記号の後に左中かっこや右中かっこを付けて、複数行のコメントを囲みます。

%{
The purpose of this routine is to compute
the value of ... 
%}

    メモ:   空白文字の場合を除き、%{%} の演算子は、ヘルプ テキストのブロックの直前と直後に単独で記述しなければなりません。これらの行には他のテキストは含めないでください。

プラス — +

+ 記号は、算術演算子として最もよく使用されますが、パッケージ フォルダーの名前の指定にも使用されます。詳細は、「パッケージによる名前空間の作成」を参照してください。

セミコロン — ;

セミコロンを使用して、配列を作成したり、MATLAB コマンドからの出力を非表示にしたり、同じ行に入力したコマンドを区切ることができます。

配列行区切り文字

次に示すように、セミコロンを角かっこ内で使用して、新規配列の作成や既存の配列の連結を行うと、配列内に新しい行が作成されます。

A = [5, 8; 3, 4]
A =
     5     8
     3     4

出力の非表示

セミコロンをコマンドの最後に置くと、MATLAB でコマンドからの出力が表示されなくなります。次の例では、MATLAB によって 100 行 100 列の結果として得られる行列が表示されません。

A = ones(100, 100);

コマンドまたはステートメントの区切り文字

コンマ演算子と同様に、セミコロンで各コマンドを区切ることにより 1 行に 2 つ以上の MATLAB コマンドを入力することができます。MATLAB では、セミコロンで終わるコマンドについては出力を表示せず、コンマで終わるコマンドについては出力を表示します。

次の例では、変数 AC への代入はセミコロンで終わるため、表示されません。B への代入はコンマで終わるため、このコマンドの出力は表示されます。

A = 12.5;  B = 42.7,  C = 1.25;
B =
   42.7000

単一引用符 — ' '

単一引用符は、MATLAB 文字配列コンストラクターの記号です。

文字および文字列コンストラクター

MATLAB では、単一引用符で囲まれたすべての文字から文字配列が作成されます。次のように 1 つだけの文字が引用符で囲まれている場合は、MATLAB では 1 行 1 列の配列が作成されます。

S = 'Hello World'

詳細は、「文字と文字列」を参照してください。

空白文字

空白文字は、コンマと同様の役目を果たし、配列コンストラクターの行要素や、関数から返された値を区分することができます。

行要素区切り文字

配列を作成する際には、コンマかスペースのどちらかを選択して配列の行要素を区切ることができます。1 行 3 列の配列を作成するには、次を使用します。

A = [5.92 8.13 3.53]
A =
    5.9200    8.1300    3.5300

配列にインデックスを付ける際には、必ずコンマを使用して配列の各次元を参照しなければなりません。

関数出力区切り文字

関から返される値のリストを指定する場合は、スペースを使用できます。次のようにスペースを使用して、関数宣言と関数呼び出しの両方で、戻り値を区切ることができます。

function [data text] = xlsread(file, sheet, range, mode)

スラッシュとバックスラッシュ -/ \

スラッシュ (/) とバックスラッシュ (\) は、パスまたはフォルダーの文字列の要素を区切ります。Microsoft® Windows® ベースのシステムでは、スラッシュとバックスラッシュは同じ効果をもちます。UNIX® ベースのシステムでは、スラッシュのみを使用しなければなりません。

Windows システムでは、バックスラッシュまたはスラッシュのいずれかを使用することができます。

dir([matlabroot '\toolbox\matlab\elmat\shiftdim.m'])
dir([matlabroot '/toolbox/matlab/elmat/shiftdim.m'])

UNIX システムでは、スラッシュのみを使用してください。

dir([matlabroot '/toolbox/matlab/elmat/shiftdim.m'])

角かっこ — [ ]

角かっこは、配列の作成や連結、また関数から返される値の宣言やキャプチャで使用されます。

配列コンストラクター

行列や配列を作成するには、次のように角かっこで配列の全要素を囲みます。

A = [5.7, 9.8, 7.3; 9.2, 4.5, 6.4]

連結

連結によって 2 つ以上の配列を新規配列に結合するには、角かっこですべての配列要素を囲みます。

A = [B, eye(6), diag([0:2:10])]

関数宣言および関数呼び出し

複数の出力を返す関数の宣言や呼び出しを行う場合は、次のように角かっこで必要な戻り値を囲みます。

[data, text] = xlsread(file, sheet, range, mode)

チルダ — ~

チルダ文字は、値の等しくない配列の比較や配列の論理否定の検索に使用します。また、関数呼び出しで省略する入力引数や出力引数のプレースホルダーとしても使用します。

等しくない

配列 a と配列 b が等しくないことを要素の不等値でテストするには、a~=b を使用します。

a = primes(29);   b = [2 4 6 7 11 13 20 22 23 29];
not_prime = b(a~=b)
not_prime =
     4     6    20    22

論理否定

配列の要素でゼロの値をとるものを検索するには、次の式を使用します。

 a = [35 42 0 18 0 0 0 16 34 0];
~a
ans =
   0   0   1   0   1   1   1   0   0   1

引数のプレースホルダー

関数 fileparts で、最初の 2 つの出力値を省略し、3 番目の出力値を返すようにする場合は、次のように第 1 引数と第 2 引数にチルダを入力します。

[~, ~, filenameExt] = fileparts(fileSpec);

詳細は、『MATLAB プログラミングの基礎』ドキュメンテーションの「「関数入力の無視」」を参照してください。

この情報は役に立ちましたか?