ツイッターはこちら

MATLABでの最小値の求め方【min】

1 min

今回は、MATLABでの最小値の求め方について解説します。

MathWorksのサイトの説明がわかりにくいという方は、是非こちらを参考にしてください

ベクトルの要素の最小値の求め方【min(A)】

MATLABにおけるベクトルとは、以下のようなものです。

A=[1 2 3 2]

B=[1
   2
   3
   4]

1×n、n×1の行列のことをベクトルと呼びます。

ベクトルの要素の中の最小値を求めたい場合、以下のようにコードを書きましょう。

これを実行すると、

最小値の1が出力されました。

行列の要素の最小値の求め方【min(A(;))】

では、「m×n列の行列でも同じ様にすればいいの?」と思うかも知れませんが、少し違います。

例えば、

 
A=[1 2 3 2
  3 4 6 1
  2 5 3 1];
 

このような3×4の行列に対して、先程と同様にmin(A)とすると、

なんの値が出力されたのかわからないですよね。

実はこれ、行列の各列の最小値を出力しているんです。

では行列の全要素の中の最小値を求めるには、どうすればよいのか?

Aに(:)をつけて、minの()の中にA(:)を入れてください。

アルゴリズム
  1. Aに(:)をつけることで、行列Aを12×1の行ベクトルに変換
  2. min(A(:))により、ベクトルA(:)の全要素の中から最小値を出力

以上のアルゴリズムにより、min(A(:))は行列Aの要素の最小値を求めることができます。

【補足】行列の各行の最小値の求め方【min(A,[],2)】

先程、行列Aをmin()にそのまま入れると、行列の各列の最小値が出力されると説明しました。

「では、行列の各行の最小値の求め方もあるのか?」と疑問に思うかも知れませんが、あります。

以下のようにコードしてください。

 
A=[1 2 3 2
  3 4 6 1
  2 5 3 1];

min(A, [], 2)
 

これを実行すると、

行列の各行の最小値が求められました。

今回は以上となります。

フルショ

フルショ

2019年春に理系大学院を卒業して、大手メーカーに勤める25歳です!
海外ノマドにあこがれて、会社に頼らない生き方を現在模索中。

FOLLOW

カテゴリー:
関連記事