簡単なプログラム

ページトップへ 一つ上へ

ポイント


fprintf disp for if



今回は、簡単なプログラムの入門的な事を書いていきます。

前回は、コマンドウィンドで、直接コマンドを打っていきましたが、
今回は、Mファイルと呼ばれるMATLAB専用のファイルで編集していきます。

>edit
とコマンドウィンドウに打ってください。
そうすると、以下のような編集ウィンドウが出てきます。



次からはこのように編集ウィンドウを出して、プログラムを書いていきます。

では、下のように打ってみて下さい。
打つのが面倒な場合、コピペでも構いません。

function test1

%
% コメントを打つ場合は、%で始める。
% わかりやすいように、どんなファイルか記述すればいいでしょう。
%
%


fprintf('Hello,World');  % 画面に出力する
disp('Hello,World');     % 画面に出力する

これで完了です。保存して下さい。
保存しようとすると、自動的に名前はtest1.mとなるようになります。
これは、プログラムの最初で、function test1としてるからです。

では、保存が出来たら編集ウィンドウを閉じて、コマンドウィンドウに戻って下さい。
では、実行します。以下のようにコマンドすれば、実行できます。

>test1
実行結果が下記のように出れば、OKです。

Hello,WorldHello,World

基本的なプログラムの書き方がこんな感じです。

そのまま出力させるのは、fprintfかdispのどちらでも構いません。
筆者は、dispを勧めます。何故かというのはその内わかってくるでしょう。
では、この二つのHello,Worldを一行づつ表示させるように改良しましょう。

先ほどのMファイルを呼び出して、編集すればいいのです。
具体的には、以下のように打ってください。

>edit test1.m
こうすれば、さっきのtest1.mが出てきます。
test1.mを下のように書き換えて下さい。
青字の所が修正個所です。

function test1

%
% コメントを打つ場合は、%で始める。
% わかりやすいように、どんなファイルか記述すればいいでしょう。
%
%


fprintf('Hello,World\n');  % 画面に出力して改行
disp('Hello,World');       % 画面に出力する

さて、保存してから実行して見て下さい。

>test1

Hello,World
Hello,World


ちゃんと改行されましたね。
MATLABというのは基本的にはC言語に似ています。
C言語を簡単にしたような感じです。
では、次は、Hello,Worldを10回繰り返して書くプログラムを作成しましょう。

>edit
と入力して、新しい編集ウィンドウを開いて下さい。
そして、以下のようにプログラムを書いてください。

function test2

%
% For文を使って、Hello,Worldを10回書くプログラム
%
%


for i = 0 : 9               % iが0から9まで繰り返す
    disp('Hello,World');    % 画面に出力する
end                         % 繰り返しここまで

これで、保存して下さい。今度は、test2.mという名前のファイルにして下さい。

さて、改行の¥nが入っていませんが、これでいいのです。
disp関数は自動的に改行をしてくれます。
fprintf関数は自動ではしてくれないので、さっきのような形にしました。
こういう事もあって、dispの方がいいのです。

では、実行してみましょう。

>test2

Hello,World
Hello,World
Hello,World
Hello,World
Hello,World
Hello,World
Hello,World
Hello,World
Hello,World
Hello,World


10回繰り返して書く事が出来ましたね。
FOR文なんかは、C言語よりも書くのが簡単だと思います。
こういう細かい事からC言語よりも簡単ですから、お勧めなのです。

さて、次はIF文です。
IF文の例題として、5回目のHello,WorldだけHi,Worldにしてみましょう。

>edit
として、新しい編集ウィンドウを出してください。
以下のようにプログラムして下さい。

function test3

%
% For文を使って、Hello,Worldを10回書くプログラム
% ただし、5回目だけ Hi,World と表示する
%
%


for i = 0 : 9
    if i == 4              % iが4だったら
        disp('Hi,World');  % Hi,worldと出力
    else                   % それ以外だと
    disp('Hello,World');   % Hello,Worldと出力
    end
end

これで、保存して下さい。今度は、test3.mに保存して下さい。
では、実行してみましょう。

>test3

Hello,World
Hello,World
Hello,World
Hello,World
Hi,World
Hello,World
Hello,World
Hello,World
Hello,World
Hello,World

どうですか?ちゃんと実行されましたか?
こういう風に、MATLABではプログラミングして行くのです。