Finding the indexes of multiple elements that are equal to a certain value in an array

17 次查看(过去 30 天)
W=400;Lb=5;Lc=3;
% a)
D = (1:0.01:2.9);
T = Lb*Lc*W./(D.*sqrt(Lc^2-D.^2));
[t,d]=min(T);
Specifically, I need help finding the D values where T increases 10 percent above its minimum value. My initial approach was to try and find the indexes of the elements in D that are equal to 1466.67, which is 10 percent above the function's minimum value, then plug them into D to find out what values those indexes correspond to. I've searching on here, and have tried using the find() command and the ismembertol() command, to no avail. I am probably using them wrong anyways, and would greatly appreciate any help in solving my problem.

采纳的回答

Walter Roberson
Walter Roberson 2018-9-25
D(find(T>=t*1.1,1))
  3 个评论
Christopher Abel
Christopher Abel 2018-9-25
编辑:Christopher Abel 2018-9-25
The data begins above the threshold, dips beneath it for a bit, then comes back above the threshold and ends above it.
Christopher Abel
Christopher Abel 2018-9-25
Also, thank you very much for your help. A little bit of tweaking with the code you suggested, and I can now use it to get a decent answer. Thanks!

请先登录,再进行评论。

更多回答(2 个)

Christopher Abel
Christopher Abel 2018-9-25
This just returns "1"
  1 个评论
Walter Roberson
Walter Roberson 2018-9-25
You will not find any place where they are exactly equal. Do you need to find all that are above the threshold, or all below, or do you need to find the transition boundaries?

请先登录,再进行评论。


Christopher Abel
Christopher Abel 2018-9-25
The transition boundaries, I think. Which is why that ismembertol() looked promising, but I don't think I used it right.

类别

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