Find max of matrix without using built in function.

3 ビュー (過去 30 日間)
Roland
Roland 2011 年 5 月 4 日
I want to find the "max(a)" without actually using the built in "max" function.
  2 件のコメント
Roland
Roland 2011 年 5 月 4 日
I'm trying to do this with a for loop as test preparation.
Sean de Wolski
Sean de Wolski 2011 年 5 月 4 日
We won't do your homework for you. What have you tried so far.

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

採用された回答

Paulo Silva
Paulo Silva 2011 年 5 月 4 日
mx=a(1);
for p=2:numel(a)
if a(p)>mx
mx=a(p);
end
end
mx %the maximum value
  3 件のコメント
Paulo Silva
Paulo Silva 2011 年 5 月 4 日
%code made here, not tested in matlab
mxc=zeros(1,size(a,2));
for n=1:size(a,2)
mx=a(1,n);
for p=2:size(a,1)
if a(p,n)>mx
mx=a(p,n);
end
end
mxc(n)=mx;
end
mxc %the maximum value per column
Paulo Silva
Paulo Silva 2011 年 5 月 4 日
The code isn't optimized on purpose, like Sean said "We won't do your homework for you"

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

その他の回答 (2 件)

Sean de Wolski
Sean de Wolski 2011 年 5 月 4 日
the_max = -min(-(a(:)))
  2 件のコメント
Roland
Roland 2011 年 5 月 4 日
I need to use logical operators.
Sean de Wolski
Sean de Wolski 2011 年 5 月 4 日
the_max = a(a==-min(-(a(:))))
There!

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


Adrien Leygue
Adrien Leygue 2011 年 5 月 4 日
The following code will extract the minimum over each column. No loop no max no min and of course not optimal. Feel free to adapt it to other purposes:
S = A((repmat(eye(size(A,1)),[1 size(A,1)]) *(kron(A,ones(size(A,1),1)) < kron(ones(size(A,1),1),A)))==0)'
A.

カテゴリ

Help Center および File ExchangeGet Started with MATLAB についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by