MATLAB
はじめに
[編集]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は画像処理にも強力です。imread
やimshow
などの関数を使用して、画像を読み込み表示できます。
>> 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を使いこなすための一助となれば幸いです。