ドキュメンテーション

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

MATLAB の演算子と特殊文字

このページには、MATLAB® のすべての演算子、記号、特殊文字の包括的なリストが含まれています。

算術演算子

記号役割詳細
+

加算

plus
+

単項プラス

uplus
-

減算

minus
-

単項マイナス

uminus
.*

要素単位の乗算

times
*

行列乗算

mtimes
./

要素単位の右除算

rdivide
/

行列の右除算

mrdivide
.\

要素単位の左除算

ldivide
\

行列の左除算

(別称 "バックスラッシュ")

mldivide
.^

要素単位のべき乗

power
^

行列のべき乗

mpower
.'

転置

transpose
'

複素共役転置

ctranspose

関係演算子

記号役割詳細
==

等しい

eq
~=

等しくない

ne
>

より大きい

gt
>=

以上

ge
<

より小さい

lt
<=

以下

le

論理演算子

記号役割詳細
&

論理 AND

and
|

論理 OR

or
&&

論理 AND (ショートサーキットを使用)

Logical Operators: Short-Circuit && ||
||

論理 OR (ショートサーキットを使用)

~

論理否定

not

特殊文字

記号シンボル名役割説明
@

アット記号

関数ハンドルの作成と参照

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

名前付き関数の関数ハンドルを作成します。

fhandle = @myfun

無名関数の関数ハンドルを作成します。

fhandle = @(x,y) x.^2 + y.^2;
.

ピリオド (ドット)

  • 小数点

  • 要素単位の演算

  • 構造体フィールドへのアクセス

  • オブジェクトのプロパティまたはメソッド指定子

ピリオド文字は、3.1415 のように、数値の整数部分と小数部分を区切ります。ピリオドを含む MATLAB 演算子は常に要素単位で機能します。ピリオド文字を使用すると、構造体内のフィールドと、オブジェクトのプロパティおよびメソッドにアクセスすることもできます。

小数点:

102.5543

要素単位の演算:

A.*B
A.^2

構造体フィールドへのアクセス:

myStruct.f1

オブジェクト プロパティ指定子:

myObj.PropertyName
...

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

行継続

行末の 3 つ以上のピリオドは、現在のコマンドを次の行に続けるために使用します。行末より前に 3 つ以上のピリオドが現れると、MATLAB はその行の残りの部分を無視して次の行に進みます。これにより、3 つのピリオドに続く現在の行をコメント アウトすることが有効になります。

メモ

MATLAB では、省略記号は空白文字と解釈されます。したがって、複数行のコマンドは、省略記号を空白文字に置き換えた 1 行のコマンドとして有効でなければなりません。

関数呼び出しを次の行に続けます。

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

文字ベクトルを複数行に分割し、行を互いに連結します。

S = ['If three or more periods occur before the '...
    'end of a line, then the rest of that line is ' ...
    'ignored and MATLAB continues to the next line']

複数行のコマンドで 1 行をコメント アウトするには、行の先頭で ... を使用して、コマンドが完全な状態のままであることを確認します。% を使用して行をコメント アウトすると、エラーが発生します。

y = 1 +...
    2 +...
  % 3 +...
    4;

ただし、次のコードは、3 番目の行によってコマンドにギャップが生じることがないため、適切に実行されます。

y = 1 +...
    2 +...
... 3 +...
    4;
,

コンマ

区切り記号

コンマを使用して、配列内の行要素、配列の添字、関数の入出力引数、同じ行に入力されたコマンドを区切ります。

行要素を区切って配列を作成します。

A = [12,13; 14,15]

添字を区切ります。

A(1,2)

関数呼び出しの入力引数と出力引数を区切ります。

[Y,I] = max(A,[],2)

同じ行の複数のコマンドを区切ります (出力を表示)。

figure, plot(sin(-pi:0.1:pi)), grid on
:

コロン

  • ベクトルの作成

  • インデックス

  • for ループの反復

コロン演算子を使用して、等間隔のベクトルを作成し、配列にインデックスを付け、for ループの範囲を定義します。

ベクトルを作成します。

x = 1:10

3 ずつインクリメントするベクトルを作成します。

x = 1:3:19

行列を列ベクトルに形状変更します。

A(:)

配列の形状を変更せずに新しい要素を割り当てます。

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

特定の次元の要素の範囲にインデックスを付けます。

A(2:5,3)

特定の次元のすべての要素にインデックスを付けます。

A(:,3)

for ループの範囲:

x = 1;
for k = 1:25
    x = x + x^2;
end
;

セミコロン

  • 行末の指定

  • コード行の出力の非表示

セミコロンを使用して、配列作成コマンドの行を区切ったり、コード行の出力を非表示にしたりします。

行を区切って配列を作成します。

A = [12,13; 14,15]

コード出力を非表示にします。

Y = max(A);

単一行の複数のコマンドを区切ります (出力を非表示)。

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

小かっこ

  • 演算子の優先順位

  • 関数の引数を囲む

  • インデックス

小かっこを使用して、演算の優先順位を指定したり、関数の入力引数を囲んだり、配列にインデックスを付けたりします。

演算の優先順位:

(A.*(B./C)) - D

関数の引数を囲む:

plot(X,Y,'r*')
C = union(A,B)

インデックス付け:

A(3,:)
A(1,2)
A(1:5,1)
[ ]

大かっこ

  • 配列の作成

  • 配列の連結

  • 空行列および配列要素の削除

  • 複数の出力引数の割り当て

大かっこを使用すると、配列の作成や連結、空行列の作成、配列要素の削除、関数によって返された値の取得が可能です。

3 要素のベクトルを作成します。

X = [10 12 -3]

行列の一番下に新しい行を追加します。

A = rand(3);
A = [A; 10 20 30]

空行列を作成します。

A = []

行列の列を削除します。

A(:,1) = []

関数から 3 つの出力引数を取得します。

[C,iA,iB] = union(A,B)
{ }

中かっこ

cell 配列の割り当てと内容

中かっこを使用して、cell 配列を作成したり、cell 配列内の特定のセルの内容にアクセスしたりします。

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

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

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

A = C{4,7,2}
%

パーセント

  • コメント

  • 変換指定子

通常パーセント記号は、プログラム本体内にある実行不能なテキストを示すために使用されます。このようなテキストは、一般的にコードにコメントを付けるために使用されます。

また一部の関数では、パーセント記号が変換指定子として解釈されます。

2 つのパーセント記号 %% は、コード セクションの実行で説明されているセル区切り記号として機能します。

コードのブロックにコメントを追加します。

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

sprintf で変換指定子を使用します。

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

パーセント中かっこ

ブロック コメント

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

メモ

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

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

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

感嘆符

オペレーティング システム コマンド

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

MATLAB Online™ では使用できません。

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

!rmdir oldtests
?

疑問符

MATLAB クラスのメタクラス

疑問符は、特定のクラス名の meta.class オブジェクトを取得します。? 演算子と組み合わせることができるのは、クラス名だけです。オブジェクトでは機能しません。

クラス inputParser の meta.class オブジェクトを取得します。

?inputParser
''

一重引用符

文字配列コンストラクター

一重引用符を使用して、クラス char をもつ文字ベクトルを作成します。

文字ベクトルを作成します。

chr = 'Hello, world'
""

二重引用符

string コンストラクター

二重引用符を使用して、クラス string をもつ string スカラーを作成します。

string スカラーを作成します。

S = "Hello, world"
N/A

空白文字

区切り記号

空白文字を使用して、配列コンストラクターの行要素や、関数によって返される値を区切ります。このコンテキストでは、空白文字とコンマは同等です。

行要素を区切って配列を作成します。

% These statements are equivalent
A = [12 13; 14 15]
A = [12,13; 14,15]

関数呼び出しの出力引数を区切ります。

% These statements are equivalent
[Y I] = max(A)
[Y,I] = max(A)
~

チルダ

  • 論理否定

  • 引数のプレースホルダー

チルダ記号を使用して、論理否定を表現したり、特定の入力引数または出力引数を抑制したりします。

行列の論理否定を計算します。

A = eye(3);
~A

A の要素が B の要素と等しくない場所を特定します。

A = [1 -1; 0 1]
B = [1 -2; 3 2]
A~=B

union の 3 番目の出力値のみを返します。

[~,~,iB] = union(A,B)
=

等号

代入

等号を使用して、変数に値を代入します。構文 B = A は、A の要素を変数 B に格納します。

メモ

= 文字は代入用、== 文字は 2 つの配列内の要素の比較用です。詳細については、eq を参照してください。

行列 A を作成します。A 内の値を、新しい変数 B に代入します。最後に、B の最初の要素に新しい値を代入します。

A = [1 0; -1 0];
B = A;
B(1) = 200;

string と文字の書式設定

特殊文字の中には、文字ベクトルまたは string のテキストでのみ使用可能なものがあります。これらの特殊文字を使用すると、改行やキャリッジ リターンの挿入、フォルダー パスの指定などができます。

次の表の特殊文字を使用して、文字ベクトルまたは string を使用するフォルダー パスを指定します。

記号シンボル名役割説明

/

\

スラッシュとバックスラッシュ

ファイルまたはフォルダー パスの区切り

数学演算子としての用途に加えて、スラッシュとバックスラッシュの文字は、パスまたはフォルダーの要素の区切りとしても使用できます。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'])

..

2 つのドット

親フォルダー

連続した 2 つのドットは、現在のフォルダーの親を指します。この文字を使用して、現在のフォルダーとの相対的なフォルダー パスを指定します。

フォルダー ツリーで 2 つ上のレベルに上がり、test フォルダーに移動するには、次を使用します。

cd ..\..\test
*

アスタリスク

ワイルドカード文字

行列乗算の記号であるだけでなく、アスタリスク * はワイルドカード文字としても使用されます。

一般的にワイルドカードは、複数のファイルやフォルダーを処理するファイル操作で使用されます。MATLAB は名前内のすべての文字を正確に一致させますが、例外として、ワイルドカード文字 * は 1 つ以上の任意の文字と一致することができます。

dir('january_*.mat') を使用すると、名前が january_ で始まり、ファイル拡張子が .mat である全ファイルが検出されます。

@

アット記号

クラス フォルダーのインジケーター

@ 記号はクラス フォルダーの名前を示します。

クラス フォルダーを参照します。

\@myClass\get.m
+

プラス

パッケージ ディレクトリのインジケーター

+ 記号はパッケージ フォルダーの名前を示します。

パッケージ フォルダーは常に + 文字で始まります。

+mypack
+mypack/pkfcn.m  % a package function
+mypack/@myClass % class folder in a package

通常のテキストとして入力できない特殊文字があります。代わりに、それらを表す一意の文字列を使用しなければなりません。次の表の記号を使用して、string や文字ベクトルを単独で、または composesprintferror などの書式設定関数と組み合わせて書式設定します。詳細については、テキストの書式設定を参照してください。

記号テキスト上の効果
''

一重引用符

%%

単一のパーセント記号

\\

単一のバックスラッシュ

\a

アラーム

\b

バックスペース

\f

フォーム フィード

\n

改行

\r

キャリッジ リターン

\t

水平タブ

\v

垂直タブ

\xN

16 進数 N

\N

8 進数、N

関連するトピック