MATLABには予め用意された関数やコマンドが非常に多くあります。それらを把握しておくだけでプログラミングや検証作業が効率化できます。
![MATLAB利用者](https://toarusw.com/wp-content/uploads/2020/03/パソコン使う人1.png)
MATLAB
利用者
- どんな関数があるのか、ざっと知っておきたい
- MATLABは関数が多すぎて忘れてしまった。どんなものがあったかな。。
- 知っておくべき/覚えておくべき便利な関数にはどんなものがあるかな?
- 関数の使用例、使用イメージが知りたい
![筆者](https://toarusw.com/wp-content/uploads/2020/04/1.png)
筆者
本記事では「よく使う関数、コマンドの一覧表、使用イメージ」を記載しています。(詳しくは目次をご覧下さい。)
このように一覧表にまとめています
(なお、ToolBox(追加オプション)の関数は含んでおりません。別途記事にしたいと思っています。)
また、MATLABの基本的な知識や使い方については以下記事に詳しく書いておりますのでご覧下さい。
よく使う関数、コマンド、使用イメージの一覧表
MATLABで用意されている、よく使う関数、コマンドの名称と説明、使用イメージの一覧表です。カテゴリごとに分けています。
本記事では、コマンドは、主にコマンドウィンドウで使用し、引数なしで呼び出すものや、「コマンド名 引数」 の形で呼び出すもの。関数は、主にスクリプト内で使用し、「関数名(引数)」の形で呼び出すもの、として使い分けています。
(厳密にはMATLABの全ての関数は 「関数名 引数」 の形(「コマンド構文」といいます) での呼び出しも可能になっています。ただし、コマンド構文の場合、引数の型が文字列扱いになります。詳細は公式ドキュメントのコマンドと関数構文をご覧下さい。)
各関数、コマンドの詳細は公式ドキュメントを参照いただくのが適切ですので、関数名、コマンド名のリンクをクリックして参照ください。
コマンド名、関数名のリンクをクリックすると、公式ドキュメントに移動します。
コマンド
コマンド | 説明 | イメージ |
---|---|---|
clc | コマンドウィンドウのクリア | |
clear | ワークスペース変数のクリア | |
close | 1 つ以上の Figure を閉じる (close all で全Figureを閉じる) | |
exit | MATLAB プログラムを終了 | ![]() |
format | コマンド ウィンドウの出力表示形式の設定 | |
ver | MathWorks 製品のバージョン情報 |
関数
特殊な行列の作成
サイズ、要素数
並び替え
データ型の変換
テーブル
関数 | 説明 | イメージ |
---|---|---|
readtable | ファイルからのテーブルの作成 | |
writetable | ファイルへのテーブルの書き込み |
算術演算
イメージ内にある「列方向」は行列の1次元目(縦方向、垂直方向)、「行方向」は2次元目(横方向、水平方向)を意味しています。
関数 | 説明 | イメージ |
---|---|---|
sum | 配列要素の和 | |
cumsum | 累積和 | |
diff | 要素間の差分 | |
prod | 配列要素の積 | |
ceil | 正方向への丸め | |
floor | 負方向への丸め | |
fix | ゼロ方向への丸め | |
round | 最も近い小数または整数への丸め |
論理演算
関数findは非ゼロ要素だけでなく、条件に合致する要素を見つけるために使用することが多いです。引数に条件を指定して呼び出すと、条件を満たす要素の線形インデックス(赤点線順の番号)を返します。その次に「行列名(インデックス)」とすることで、条件を満たす値を取得することができます。
例) findを使って行列Aの中から10より大きい要素を見つける
1つにまとめて「 A(find(10<A))」とすることでも取得できます。
集合演算
ワークスペース変数と MAT ファイル
統計
数学
他にも三角関数 sin(正弦)、cos(余弦)、tan(正接) や対数log(自然対数)、log10(常用対数)など、非常に多くの数学関数があります。より詳細は公式ドキュメントの初等数学および数学関数をご覧下さい。
非ゼロ要素
関数nnzは非ゼロ要素の数だけでなく、条件に合致する要素の数を取得するために使用することもできます。引数に条件を指定して呼び出すと、条件を満たす要素の数を返します。
例) nnzを使って行列Aの中から1より小さい要素の数を取得する
figure、プロット、グラフィックス
関数 | 説明 | イメージ |
---|---|---|
figure | Figure ウィンドウの作成 | |
plot | 線形 2 次元プロット | |
plot3 | 3 次元の点またはライン プロット | |
patch | 塗りつぶされた多角形領域のプロット | ![]() |
title | タイトルの追加 | |
xlabel | X軸のラベル付け | |
ylabel | Y軸のラベル付け | |
legend | 凡例の追加 | |
text | データ点に説明テキストを追加 | |
xlim | X軸の範囲の設定とクエリ | |
ylim | Y軸の範囲の設定とクエリ | |
grid | 座標軸のグリッドラインの表示/非表示 | |
hold | 現在のプロットを保持して新しいプロットを追加 | |
subplot | 1つのFigureに複数のプロットを並べる | |
view | カメラの視線の方位角と仰角を設定する | |
imshow | イメージの表示 | |
imread | グラフィックス ファイルからイメージを読み込む | |
imwrite | イメージをグラフィックス ファイルに書き込む |
関数view について
MATLABの3次元プロットの初期状態では、方位角は-37.5°、仰角 30°になっています。上の例では、方位角はそのままで仰角を90°にした場合の視線 (真上から見下ろした状態) にしています。より詳細については公式ドキュメントの方位角と仰角の視点の設定をご覧下さい。
ファイルとフォルダ―
関数 | 説明 | イメージ |
---|---|---|
addpath | 検索パスにフォルダーを追加 | |
dir | フォルダーの内容の一覧表示 | |
visdiff | 2 つのファイルまたはフォルダーを比較 | |
fileparts | ファイル名の一部の取得 | |
fullfile | ファイルへの絶対パスの作成 |
関数visdiff について
関数visdiff は実行すると専用の比較ツールが起動します。テキストエディタ等では表示できない、バイナリ形式のmatファイルの比較やマージを行うことができるため便利です。
matファイルの場合、比較ツールで変数の一覧画面が表示されます。「比較する」をクリックすると以下のように変数内のデータの比較ができます。
なおvisdiffを呼び出す代わりに、画面上部の[ホーム]タブ-[ファイル]-[比較]からでも同じことができます。
プログラミング
まとめ
MATLABの豊富な関数を活用して、数値解析、アルゴリズム検証!
本記事ではMATLABを使う方に向けて、是非覚えておいていただきたいコマンドや関数を、一覧表形式でイメージ図も示しながら紹介しました。
MATLABは関数が豊富で、ここで挙げたものは一部に過ぎませんが、よく活用するものをまとめましたので、是非参考にしていただければと思います。
例えば、動画を扱うプログラムの作成には、VideoReaderや、readFrame、VideoWriterなども使用すると思います。ビデオやオーディオについての詳細は公式ドキュメントのオーディオとビデオをご覧下さい。
MATLABはプログラミング言語としても、ツールとしても本当に利用価値の高いものだと思いますので、MATLABで、計算、アルゴリズムの検証、データの解析、データの可視化、AI、自動運転、何でも取り組んでみましょう。
こちらも合わせてご覧下さい。
![](https://toarusw.com/wp-content/uploads/2020/05/dual-screen-1745705_1280_文字付-160x90.png)
![](https://toarusw.com/wp-content/uploads/2023/01/dual-screen_1280x866-160x90.png)
MATLABが学べる、相談、依頼できるサービスはこちら
MATLABをもっと理解したい、コード作成を手伝ってもらいたい、わからない部分を教えてほしい、気軽に相談したい、ということはありませんか?
ココナラではMATLABのサービスを提供している方もたくさんおられるので、気軽に探してみてください
また、Udemyは英語の講座が多いですが豊富な講座のバリエーションがあります。大学の課題、研究・開発、データ分析、課題解決に役立ちます。
ココナラ
ココナラでMATLAB,プログラミングの相談・作成依頼↓登録は無料です![](https://www16.a8.net/0.gif?a8mat=3T0CB4+757A42+2PEO+TR8TE)
会員登録(無料)をして、MATLABで検索すればたくさんのMATLABに関するサービスが見つかります。プログラミングスクール代や講座代を支払うより、安く依頼・相談できるものもたくさんありますよ。
![](https://www17.a8.net/0.gif?a8mat=3T0CB4+757A42+2PEO+OOF0X)
また、MATLABのスキルに自信がついてきたら、ぜひご自身で出品して見て下さい。依頼を受けて案件をこなせば、稼ぎながら更なるスキルアップに繋がります。
![](https://www17.a8.net/0.gif?a8mat=3T20MP+B2B0HE+2PEO+6SRQ9)
筆者も実際にサービスを提供して稼ぐことができたので、以下記事でやり方やポイントを解説しています。サービス提供も無料で気軽にできます。
こちらをチェック↓
Udemy
[MATLAB/Simulinkの人気のオンライン学習はコチラをチェック↓]
「MATLAB」で検索すればたくさんのMATLABに関する講座が見つかります。正直英語が苦手だとつらいですが、動画なので何度も見返せば、様々な技術、やり方が身に付くと思います。
筆者おすすめのMATLAB初心者、入門者向け著書
最後に筆者のおすすめの初心者向けの本を紹介しておきます。
MATLABの公式サイトには豊富なドキュメントが用意されており、MATLABの基本から高度なトピックまで、幅広い情報が提供されていますが、MATLABの書籍や参考書を持っておくことにはいくつかのメリットがあります。
- 書籍や参考書は、一連のテーマを体系的に学習するのに適しています。基礎から応用までを順を追って学ぶことができます。
- 書籍には実践的な例題や演習問題が多数含まれています。理論だけでなく、実際の問題に対するMATLABの活用方法を学ぶことができ問題解決のスキルを養うこともできます。
- 書籍の著者は、MATLABの専門家や実務家であり、自分の経験や知識を元に解説しています。そのため、実践的なノウハウやテクニックを学ぶことができます。
- 書籍はオフラインでも利用できるため、インターネット接続がない環境でも学習や参照が可能です。また、書籍を手元に置いておくことで、いつでも簡単に情報を参照できます。
是非、これらの参考書類もお手元に置いて、効率よく学習いただければと思います。
※Amazon 評価は 2024/3月時点のカスタマーレビューの点数です。
タイトル | 画像 | 購入先 | ポイント | Amazon評価 |
---|---|---|---|---|
はじめてのMATLAB | ![]() | Amazon 楽天 Yahoo | MATLABの基本的な概念や操作方法を図や具体例を交えてわかりやすく説明 | |
最新MATLABハンドブック第七版: 機械学習・ディープラーニング対応 | ![]() | Amazon 楽天 Yahoo | MATLABの基本的な機能から最新のディープラーニング技術までを包括的にカバー | |
MATLABクイックスタート 数式処理から機械学習まで | ![]() | Amazon 楽天 Yahoo | 数学的基礎から、データ分析や機械学習アルゴリズムの実装までカバー | |
MATLABではじめるプログラミング教室 | ![]() | Amazon 楽天 Yahoo | 基本的な構文や機能から、初学者でも理解しやすいように解説 | |
最新 使える! MATLAB 第3版 | ![]() | Amazon 楽天 Yahoo | 基本的な使い方から高度なテクニックまで、幅広いトピックを網羅 | |
MATLAB/Simulinkによる制御工学入門 | ![]() | Amazon 楽天 Yahoo | MATLABとSimulinkを使ったシミュレーションや設計手法について詳しく説明 | |
自動車業界MBDエンジニアのためのSimulink入門 | ![]() | Amazon 楽天 Yahoo | Simulinkの基本から自動車システムのモデリングやシミュレーション、実装までを詳しく説明 | |
MATLABで学ぶ実践画像・音声処理入門 | ![]() | Amazon 楽天 Yahoo | 実際の画像や音声データを処理し、解析する方法について詳しく説明 |
詳しくは以下の記事で解説・紹介しています。
長くなりましたが、ご覧いただきまして有難うございました。良ければコメントもご自由にお書き下さい。改善要望などあれば参考にさせていただきます。
良ければフォローお願いします。
コメント