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

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

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

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

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

サンプル スクリプト

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

edit plotrand

これによって plotrand.m という名前の空白のファイルが開きます。乱数データのベクトルをプロットするコードを入力します。

n = 50;
r = rand(n,1);
plot(r)

次に、平均値を示す水平線をプロットに描画するコードを追加します。

m = mean(r);
hold on
plot([0,n],[m,m])
hold off
title('Mean of Random Uniform Data')

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

% Generate random data from a uniform distribution
% and calculate the mean. Plot the data and the mean.
 
n = 50;            % 50 data points
r = rand(n,1);
plot(r)
 
% Draw a line from (0,m) to (n,m)
m = mean(r);
hold on
plot([0,n],[m,m])
hold off
title('Mean of Random Uniform Data')

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

plotrand

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

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

スクリプトでは、キーワード forwhileif および switch を使用してコードのセクションをループさせたり、セクションを条件付きで実行したりすることができます。

たとえば、for ループを使用して 5 つの無作為標本の平均と全体の平均を計算する calcmean.m というスクリプトを作成します。

nsamples = 5;
npoints = 50;

for k = 1:nsamples
    currentData = rand(npoints,1);
    sampleMean(k) = mean(currentData);
end
overallMean = mean(sampleMean)

ここで、反復ごとに結果を表示できるように for ループに変更を加えます。現在の反復回数を含むテキストをコマンド ウィンドウに表示し、sampleMean の代入ステートメントからセミコロンを削除します。

for k = 1:nsamples
   iterationString = ['Iteration #',int2str(k)];
   disp(iterationString)
   currentData = rand(npoints,1);
   sampleMean(k) = mean(currentData)
end
overallMean = mean(sampleMean)

スクリプトを実行すると中間結果が表示され、続いて全体平均が計算されます。

calcmean
Iteration #1

sampleMean =

    0.3988

Iteration #2

sampleMean =

    0.3988    0.4950

Iteration #3

sampleMean =

    0.3988    0.4950    0.5365

Iteration #4

sampleMean =

    0.3988    0.4950    0.5365    0.4870

Iteration #5

sampleMean =

    0.3988    0.4950    0.5365    0.4870    0.5501


overallMean =

    0.4935

エディターで、calcmean.m の最後に、overallMean の値に合わせて異なるメッセージを表示する条件付きステートメントを追加します。

if overallMean < .49
   disp('Mean is less than expected')
elseif overallMean > .51
   disp('Mean is greater than expected')
else
   disp('Mean is within the expected range')
end

calcmean を実行し、計算された overallMean に応じた正しいメッセージが表示されることを確認します。以下に例を示します。

overallMean =

    0.5178

Mean is greater than expected

スクリプトの保存場所

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

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

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