プログラミングとスクリプト
最も単純なタイプの 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
をライブ スクリプトに変換できます。次に、コードのコメントを書式設定されたテキストに置き換えます。次に例を示します。
コメント行をテキストに変換します。パーセント記号で始まる行をそれぞれ選択してから、[テキスト] を選択します。パーセント記号を削除します。
コード行の末尾のコメントと置き換えるテキストを書き換えます。テキスト内の関数名に固定幅フォントを適用するには、 を選択します。方程式を追加するには、[挿入] タブで [式] を選択します。
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 フォルダーを検索パス上に作成します。プログラムを他のフォルダーに保存して実行する場合は、そのフォルダーを検索パスに追加します。現在のフォルダー ブラウザーでフォルダーを選択して右クリックし、[パスに追加] を選択します。