find nonzero-middle point of an array
古いコメントを表示
Hello,
example
a=[0,0,3,4,5];
I want a function that give me middle point of nonzero element which is 4
not 3 which is the middle point of the array.
Thank you!
採用された回答
その他の回答 (1 件)
Walter Roberson
2013 年 5 月 1 日
t = nonzeros(a);
t(ceil(end/2))
floor() cannot be used instead of ceil(): if there was only 1 non-zero element, end would be 1, end/2 would be 1/2, floor(1/2) would be 0, and there is no element #0.
4 件のコメント
Tiger
2013 年 5 月 1 日
Jan
2013 年 5 月 1 日
@Tiger: You can vote for Walter's answer, if it helps you. And you can ask Azzi to delete his answer and resubmit it. Then the status of acceptance is cleared and you can choose again.
Walter Roberson
2013 年 5 月 1 日
Azzi's answer will work, as round() of an integer is the integer itself and round() of (integer + 1/2) is the next integer: this is the same set of results as ceil() of the integer and of (integer + 1/2)
Azzi Abdelmalek
2013 年 5 月 1 日
If someone asks me to delete my answer, I do not think I will do it.
カテゴリ
ヘルプ センター および File Exchange で Matrix Indexing についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!