Find maximum of all rows without a for-loop?

1 回表示 (過去 30 日間)
buhmatlab
buhmatlab 2020 年 4 月 15 日
コメント済み: buhmatlab 2020 年 4 月 15 日
Hi,
I am relatively new to Matlab and only used to work with for-loops which I've already used succesfully to find the maximum in each row of my three column vectors (300X1):
for i=1:length(value_A)
test(i) = max([value_A(i),value_B(i),value_C(i)]);
end
Since this is not a very elegant and efficient way (for loop) I'm wondering how I can achieve the same result without a for loop.
Many thank in advance!
  2 件のコメント
Stephen23
Stephen23 2020 年 4 月 15 日
編集済み: Stephen23 2020 年 4 月 15 日
" ...three row vectors (300X1)"
A row vector has size 1xN
A column vector has size Nx1
buhmatlab
buhmatlab 2020 年 4 月 15 日
Sorry, my bad: column vector is correct

サインインしてコメントする。

採用された回答

Stephen23
Stephen23 2020 年 4 月 15 日
編集済み: Stephen23 2020 年 4 月 15 日
Assuming that your three vectors have size 1xN (i.e. row vectors):
M = [value_A;value_B;value_C];
T = max(M,[],1)
Assuming that your three vectors have size Nx1 (i.e. column vectors):
M = [value_A,value_B,value_C];
T = max(M,[],2)
For vectors of any orientation:
M = [value_A(:),value_B(:),value_C(:)];
T = max(M,[],2)
  1 件のコメント
buhmatlab
buhmatlab 2020 年 4 月 15 日
Thank you! Sorry I meant column vector, edited the original question.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeLoops and Conditional Statements についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by