はじめに

編集

MATLABは、数値計算、データ解析、可視化、アルゴリズム開発など、幅広い分野で利用される高性能なプログラミング環境です。本ハンドブックでは、MATLABの基本的な使い方から応用的なテクニックまで、コード例を豊富に交えながら解説します。初心者から中級者まで、MATLABを効果的に活用するためのポイントを明快に解説します。

1. MATLABの基本

編集

1.1 MATLABの起動と終了

編集

MATLABを起動するには、デスクトップのアイコンをダブルクリックするか、コマンドラインからmatlabと入力します。終了するには、コマンドウィンドウでexitまたはquitと入力するか、ウィンドウ右上の閉じるボタンをクリックします。

1.2 コマンドウィンドウ

編集

MATLABのコマンドウィンドウは、対話的にコマンドを実行するための場所です。例えば、以下のように簡単な計算を実行できます。

>> 3 + 5
ans =
     8

1.3 ヘルプの利用

編集

MATLABには豊富なドキュメントが用意されています。特定の関数のヘルプを見るには、helpコマンドを使用します。

>> help sin

2. 変数とデータ型

編集

2.1 変数の宣言と代入

編集

MATLABでは、変数を宣言する際に型を明示する必要はありません。変数に値を代入すると、自動的に型が決定されます。

>> x = 10;
>> y = 3.14;
>> z = 'Hello, MATLAB';

2.2 データ型

編集

MATLABには、数値、文字列、論理値など、さまざまなデータ型があります。

>> a = 42;          % 数値(double型)
>> b = int8(42);    % 8ビット整数
>> c = 'MATLAB';    % 文字列
>> d = true;        % 論理値

3. 配列と行列操作

編集

3.1 配列の作成

編集

MATLABでは、配列を簡単に作成できます。1次元配列(ベクトル)や2次元配列(行列)を作成するには、以下のようにします。

>> v = [1, 2, 3, 4, 5];  % 行ベクトル
>> m = [1, 2, 3; 4, 5, 6; 7, 8, 9];  % 3x3行列

3.2 配列の操作

編集

配列の要素にアクセスするには、インデックスを使用します。MATLABのインデックスは1から始まります。

>> v(3)  % ベクトルの3番目の要素
ans =
     3

>> m(2, 3)  % 行列の2行3列目の要素
ans =
     6

3.3 行列の演算

編集

MATLABでは、行列の加算、乗算、転置などの基本的な演算を簡単に行えます。

>> A = [1, 2; 3, 4];
>> B = [5, 6; 7, 8];
>> C = A + B;  % 行列の加算
>> D = A * B;  % 行列の乗算
>> E = A';     % 行列の転置

4. 制御構造

編集

4.1 条件分岐

編集

MATLABでは、if文を使用して条件分岐を行います。

>> x = 10;
>> if x > 5
       disp('x is greater than 5');
   else
       disp('x is less than or equal to 5');
   end

4.2 ループ

編集

forループやwhileループを使用して、繰り返し処理を行います。

>> for i = 1:5
       disp(i);
   end

>> n = 0;
>> while n < 5
       n = n + 1;
       disp(n);
   end

5. 関数とスクリプト

編集

5.1 関数の定義

編集

MATLABでは、functionキーワードを使用して関数を定義します。

function y = myFunction(x)
    y = x^2 + 2*x + 1;
end

5.2 スクリプトの作成

編集

スクリプトは、複数のコマンドをまとめて実行するためのファイルです。.m拡張子で保存します。

% myScript.m
x = 1:10;
y = x.^2;
plot(x, y);

6. データの可視化

編集

6.1 基本的なプロット

編集

MATLABでは、plot関数を使用してデータを可視化できます。

>> x = 0:0.1:2*pi;
>> y = sin(x);
>> plot(x, y);
>> xlabel('x');
>> ylabel('sin(x)');
>> title('Sine Wave');

6.2 複数のプロット

編集

hold onを使用して、複数のプロットを重ねて表示できます。

>> plot(x, sin(x));
>> hold on;
>> plot(x, cos(x));
>> legend('sin(x)', 'cos(x)');

7. ファイル入出力

編集

7.1 ファイルからのデータ読み込み

編集

load関数を使用して、ファイルからデータを読み込みます。

>> data = load('data.txt');

7.2 ファイルへのデータ書き込み

編集

save関数を使用して、データをファイルに保存します。

>> save('output.mat', 'data');

8. 応用トピック

編集

8.1 画像処理

編集

MATLABは画像処理にも強力です。imreadimshowなどの関数を使用して、画像を読み込み表示できます。

>> img = imread('image.jpg');
>> imshow(img);

8.2 機械学習

編集

MATLABは機械学習にも対応しています。fitcsvm関数を使用して、サポートベクターマシンを訓練できます。

>> load fisheriris;
>> X = meas(:,1:2);
>> Y = species;
>> SVMModel = fitcsvm(X, Y);

おわりに

編集

このハンドブックでは、MATLABの基本的な使い方から応用的なテクニックまでを解説しました。MATLABは非常に強力なツールであり、適切に活用することで、さまざまな問題を効率的に解決できます。本ハンドブックが、MATLABを使いこなすための一助となれば幸いです。