Main Content

プログラミングとスクリプト

最も単純なタイプの MATLAB® プログラムは "スクリプト" と呼ばれます。スクリプトは、複数行から成る一連の MATLAB コマンドと関数呼び出しが記述されたファイルです。スクリプトは、コマンド ラインにその名前を入力して実行することができます。

スクリプト

スクリプトを作成するには edit コマンドを使用します。

edit mysphere

このコマンドによって mysphere.m という名前の空白のファイルが開きます。単位球面を作成し、半径を 2 倍にして、結果をプロットするコードを入力します。

[x,y,z] = sphere; 
r = 2;
surf(x*r,y*r,z*r)
axis equal

次に、球の表面積と体積を計算するコードを追加します。

A = 4*pi*r^2;
V = (4/3)*pi*r^3;

コードを記述する際は、常にそのコードについて説明するコメントを追加することをお勧めします。コメントがあれば他者にもそのコードが理解しやすくなり、後ほどコードに立ち戻る際に思い出しやすくなります。コメントは、パーセント記号 (%) を使用して追加します。

% Create and plot a sphere with radius r.
[x,y,z] = sphere;       % Create a unit sphere.
r = 2;
surf(x*r,y*r,z*r)       % Adjust each dimension and plot.
axis equal              % Use the same scale for each axis. 
 
% Find the surface area and volume.
A = 4*pi*r^2;
V = (4/3)*pi*r^3;

ファイルを現在のフォルダーに保存します。スクリプトを実行するには、その名前をコマンド ラインに入力します。

mysphere

スクリプトは、エディターで [実行] ボタン を使用しても実行できます。

ライブ スクリプト

プレーン テキストでコードとコメントを記述する代わりに、"ライブ スクリプト" の書式オプションを使用してコードを拡張できます。ライブ スクリプトを使用すると、コードと出力の両方を表示および操作できます。また、書式設定されたテキスト、方程式、およびイメージを含めることができます。

たとえば、[名前を付けて保存] を選択して、ファイル タイプを MATLAB ライブ コード ファイル (*.mlx) に変更することで、mysphere をライブ スクリプトに変換できます。次に、コードのコメントを書式設定されたテキストに置き換えます。次に例を示します。

  • コメント行をテキストに変換します。パーセント記号で始まる行をそれぞれ選択してから、[テキスト] を選択します。パーセント記号を削除します。

  • コード行の末尾のコメントと置き換えるテキストを書き換えます。テキスト内の関数名に固定幅フォントを適用するには、M を選択します。方程式を追加するには、[挿入] タブで [式] を選択します。

Text and font options are in the Text section of the Live Editor tab.

edit コマンドを使用して新規ライブ スクリプトを作成するには、ファイル名に .mlx 拡張子を含めます。

edit newfile.mlx

ループと条件付きステートメント

すべてのスクリプトにおいて、ループ内で繰り返されるか、条件付き実行されるコードのセクションを定義できます。ループでは for または while キーワードを使用し、条件付きステートメントでは if または switch を使用します。

ループはシーケンスを作成するのに役立ちます。たとえば、for ループを使用してフィボナッチ数列の最初の 100 個の数値を計算する、fibseq という名前のスクリプトを作成します。この数列では、最初の 2 つの数値は 1 で、後続のそれぞれの数値は前の 2 つの数値の合計となります (Fn = Fn-1 + Fn-2)。

N = 100;
f(1) = 1;
f(2) = 1;

for n = 3:N
    f(n) = f(n-1) + f(n-2);
end
f(1:10)

このスクリプトを実行すると、for ステートメントによって n という名前の 3 で始まるカウンターが定義されます。次に、ループで繰り返し f(n) への代入が行われ、n は 100 に達するまで実行ごとにインクリメントされます。スクリプトの最後のコマンド f(1:10) は、f の最初の 10 個の要素を表示します。

ans =
     1     1     2     3     5     8    13    21    34    55 

条件付きステートメントは、与えられた式が真の場合にのみ実行されます。たとえば、乱数の大きさに応じて、変数に値 ('low''medium'、または 'high') を割り当てます。この場合、乱数は 1 から 100 までの整数です。

num = randi(100)
if num < 34
   sz = 'low'
elseif num < 67
   sz = 'medium'
else
   sz = 'high'
end

ステートメント sz = 'high' は、num が 67 以上の場合にのみ実行されます。

スクリプトの保存場所

MATLAB では、特定の場所にあるスクリプトや他のファイルを検索します。スクリプトを実行するには、ファイルが現在のフォルダーか "検索パス" 上のフォルダーになければなりません。

既定の設定では、MATLAB インストーラーは MATLAB フォルダーを検索パス上に作成します。プログラムを他のフォルダーに保存して実行する場合は、そのフォルダーを検索パスに追加します。現在のフォルダー ブラウザーでフォルダーを選択して右クリックし、[パスに追加] を選択します。