How could you find the index number of an answer output?
3 ビュー (過去 30 日間)
古いコメントを表示
I have a code that looks like:
for ii=2:length(dep);
dz(ii) = dep(ii)-dep(ii-1);
drho(ii) = sigth(ii)-sigth(ii-1);
end
for ii=1:length(dz);
drhodz(ii) = drho(ii)/dz(ii);
end
max(drhodz)
Is there a way to go back and then see which ii this maximum answer corresponds to? (Does that question make sense? After finding the maximum drhodz I'm trying to work backwards to see at which dz (change in depth) this max occurs.)
0 件のコメント
採用された回答
Arnaud Miege
2011 年 7 月 18 日
[max_value, max_idx] = max(drhodz)
The index ii corresponding to the maximum value max_value is given by max_idx.
HTH,
Arnaud
0 件のコメント
その他の回答 (2 件)
Sean de Wolski
2011 年 7 月 18 日
Arnaud's reply is correct
To find the indices of multiple maxima:
find(drhodz==max(drhodz));
Also, your for-loops can be easily vectorized with:
dz = diff(dep);
drho = diff(sigth);
drhodz = dz./drho;
参考
カテゴリ
Help Center および File Exchange で Matrices and Arrays についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!