MATLAB

Modulesソフトウェアパッケージは、アプリケーションの利用に必要な環境設定をmoduleコマンドを実行することで、動的に切り替えて設定することができます。また、異なるバージョンのアプリケーションを切り替えて利用する際に、簡単に環境設定を変更することができます。詳細は Modules をご覧ください。

module avail コマンドにて、利用できるモジュールファイル一覧が確認できます。

バージョン モジュールファイル名 システムA システムB/C/G クラウドシステム
2024a matlab/R2024a - KU -
2023a (default) matlab/R2023a - KU -

KU : 京都大学構成員限定で利用可能
- : 利用不可

MATLABは、計算、可視化、プログラミング機能を統合した技術計算のための高性能言語です。エンジニアリングや科学技術問題の基本であるベクトルとマトリックスの演算をサポートしています。線形代数をはじめ偏微分方程式など、様々な数学的関数をデータ解析に利用でき、データ可視化のための 2次元/3次元画像関数を備えています。また、C、C++、Fortran といった他の言語のサブルーチンを組み込み関数のように呼び出すことができます。

MATLABでは、基本機能以外に特別なクラスの問題に対応できるように拡張されMATLAB関数を集めたToolboxを用いることにより幅広い分野に対応できるようになっています。

  • Simulink

Simulink はマルチドメインシミュレーションやダイナミックシステム、および組込みシステムのモデルベースデザインのためのプラットフォームです。対話型グラフィカル環境およびブロックライブラリ群により、通信、制御、動画像処理、静止画像処理を含め、時間依存システムの設計、シミュレーション、実装、テストが可能です。

  • 信号・画像処理
  • 通信システム設計
  • 制御系設計
  • 実験計測
  • 金融工学におけるモデリングと解析
  • コンピュータを利用した生命工学 など

MATLAB起動後に、コマンドウィンドウで ver コマンドを入力することで確認いただけます。

moduleコマンドを実行し、環境設定を行います。(利用したいバージョンのmoduleファイルをロードします)

$ module load matlab

FastX, NiceDCV等X Window Systemが利用可能な環境でログインした後に、次のコマンドを実行するとMATLABが起動します。 tssrun コマンドの詳細は 会話型処理 をご覧ください。

$ tssrun --x11 matlab

メニューバーFile 内にある Exit MATLAB をクリックするとMATLABが終了します。

なお、初回起動時は以下のようなログイン画面が表示されます。京都大学構成員の方は全学アドレス (@kyoto-u.ac.jp または @st.kyoto-u.ac.jp)を入力してください。

次のオプションを指定し、コマンドを実行するとMATLABが起動します。 tssrun コマンドの詳細は 会話型処理 をご覧ください。

$ tssrun matlab -nodesktop -nosplash

次のコマンドを実行するとMATLABが終了します。

>> quit

MATLABを起動した際に、 Unable to communicate with required MathWorks services (error 5201). といったエラーが表示された場合は、以下の手順を行うことで改善されることが ありますので、お試しください。

$ rm -rf ~/.MathWorks/ServiceHost/*/v[0-9]*

Parallel Computing Toolboxを用いて複数ワーカーで並列処理を行うことで、計算時間を短縮することが可能です。

  1. Parallel > Create and Manage Clusters をクリックします。
  2. Add Cluster Profile > Slurm をクリックします。 Product Required の画面が出てきた場合、"OK" をクリックしてください。
  3. 画面右下の"Edit"をクリックすると、プロファイルの設定画面が出てきますので、次の項目を記入します。
  • R2023a

    • Root folder of MATLAB installation for workers ClusterMatlabRoot
       /opt/system/app/matlab_parallel_server/R2023a_up4_all/ (MATLAB 2023aの場合)
    • Resource arguments for job submission: 
       --rsc p=^N^:t=^T^:c=^T^
    • Additional command line arguments for job submission Submitarguments
       -p <キュー名>
  • R2024a以降

    • Root folder of MATLAB installation for workers ClusterMatlabRoot
       /opt/system/app/matlab_parallel_server/R2024a_all/ (MATLAB 2024aの場合)
    • Additional Properties for plugin scripts Additional Propertiesについては,以下の通りに入力してください.
Name Value Type
AdditionalSubmitArgs -p <キュー名> String

Root folder of MATLAB installation for workers ClusterMatlabRoot で指定するフォルダは、MATLABのバージョンによって異なります。 下記を参考に指定してください。

バージョン フォルダ
R2023a /opt/system/app/matlab_parallel_server/R2023a_up4_all/
R2024a /opt/system/app/matlab_parallel_server/R2024a_all/
  1. 設定が終了したら、"Done" をクリックします。

  1. Validation タブを開いて、"Validate"をクリックします。
  2. テストが終了し、"Status"が"Passed"になっていれば問題ありません。"Failed"の場合、"Properties"から設定を見直してください。
  3. 設定が終了したら、右上の "×" をクリックしてCluster Profile Manager の画面を閉じます。

入力ファイル(xxxxxxxx.m)内で、クラスタープロファイル(例:SlurmProfile1)を指定します。

c = parcluster('SlurmProfile1')
parpool(c,4)
parfor i = 1:n
    a(i) = max(abs(eig(rand(A))));
end

delete(gcp('nocreate'))

SimulinkはMATLAB環境と統合されており、MATLABの Command Window から以下のコマンドを入力することで、起動できます。

>> simulink

次のコマンドを実行するとSimulinkが終了します。

「メニューバー」の「File」内にある「Close」をクリックしするとSimulinkが終了します。

MATLABのmファイルをC/C++のソースファイルに変換してコンパイルし、スタンドアローンで実行可能なファイルを作成することができます。

MATLABを起動し、 Command Window から以下のコマンドを入力することで、コンパイルできます。

>> mcc -m 入力ファイル名

入力ファイル名は、xxxxxxxx.m のように、サフィックスに m を付けます。
出力ファイルは以下のようなものが生成されます。

「xxxxxxxx 」…実行ファイル
「run_xxxxxxxx.sh」…実行ファイルを起動するためのスクリプト
「xxxxxxxx_mcc_component_data.c」
「xxxxxxxx.prj」
「xxxxxxxx_main.c」
「mccExcludedFiles.log」
「readme.txt」

MEX-ファイルを作成することで、MATLABからCまたはFortranのサブルーチンを組み込み関数のように呼び出すことができます。

MATLABを起動し、 Command Window から以下のコマンドを入力することで、コンパイルできます。

>> mex ファイル名