2

私は次のようなものを持っています:

a =

 5     1     4
 2     1     1
 5     2     8

3行目の最小値を返したい

b = min(a(3,:));

b =

 2

列全体 (つまり (1;1;2)) を返し、行列からその列を減算するにはどうすればよいでしょうか?

助言がありますか?

4

2 に答える 2

5

行列全体から最小値の列を減算したい場合 (最初に尋ねられたように)、次のようにbsxfunを使用します。

[v, i] = min(a(3,:));
a = bsxfun(@minus, a, a(:, i));

更新:次のaように列を抽出して削除できます。

[v, i] = min(a(3,:));
col = a(:, i);
a(:, i) = [];
于 2012-10-06T17:58:21.370 に答える