Clear Filters
Clear Filters

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

17 views (last 30 days)
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.

Accepted Answer

Walter Roberson
Walter Roberson on 25 Sep 2018
D(find(T>=t*1.1,1))
  3 Comments
Christopher Abel
Christopher Abel on 25 Sep 2018
Edited: Christopher Abel on 25 Sep 2018
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 on 25 Sep 2018
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!

Sign in to comment.

More Answers (2)

Christopher Abel
Christopher Abel on 25 Sep 2018
This just returns "1"
  1 Comment
Walter Roberson
Walter Roberson on 25 Sep 2018
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?

Sign in to comment.


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

Products

Community Treasure Hunt

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

Start Hunting!