Finding lowest value and the index from vector excluding zero and inf

2 次查看(过去 30 天)
Hi all,
I am trying to find lowest number excluding zero and inf from a vector:
I wanna the output to be:
r= 0.5
index= 6
I tried the following but it does not give me what I want:
clearvars
clc;
x = [1 3 2;-1 inf 0.5];
[r,index] = find (min(x(:)>0));

采纳的回答

Star Strider
Star Strider 2021-2-18
Try this:
x = [1 3 2;-1 inf 0.5];
[r,index] = min(x(x>0))
producing:
r =
0.5
index =
5
The find call is not necessary here.
  2 个评论
Mark Sc
Mark Sc 2021-2-18
Thanks for your answer.
The r is correct however, index should be 6..
As I would like to do x as vector , do not understand why index = 5 not 6 ?
clearvars
clc;
x = [1 3 2;-1 inf 0.5];
y = x(:);
[r,index] = min(y(y>0))

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Matrix Indexing 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by