how does [~,I]=min(​abs(strain​-0.02)) work ?? (strain is a vector filled with floating point decimal numbers)

11 views (last 30 days)
cant get a result from find command in this manner
y1=find (strain==min(abs(strain-0.02)))
but i was proposed to use the code in the question above could someone explain how it works??

Accepted Answer

John Chilleri
John Chilleri on 12 Jan 2017
Hello,
Regarding your original question about:
[~,I] = min(abs(strain - 0.02))
Let's talk about what you're computing in the min() function before we discuss the function itself.
First, your vector strain has .02 subtracted from every element individually, then the absolute value of each element is taken. I'm guessing you already new this was going on, but just in case.
With respect to the min function, if you request two outputs, as you are above, min will return the minimum value and the index of that value. Let's say, for example, that abs(strain - .02) has a minimum value of .1 located in element 7 of your vector.
The min function would then return [.1, 7]. When you use the tilde (~), you are telling Matlab to not return this output; however, you are storing the index of the minimum in I.
_______________________________________________________
TLDR; I is the index of the minimum value in vector abs(strain - .02).
The documentation for min might prove useful if you're still confused.
Hope this helps!

More Answers (2)

Duong Hien Thuan
Duong Hien Thuan on 21 Jul 2019
Dear Sir,
I would Matlab 7.8.0 (2009A) when I use this systax it is error "Expression or statement is incorrect--possibly
unbalanced (, {, or [.". So how can I fix this problem?
Thank you!
  1 Comment
Steven Lord
Steven Lord on 21 Jul 2019
The ability to use the tilde (~) to ignore output arguments of a function call was introduced in release R2009b. Replace the tilde with a "dummy" variable name that indicates to you and to others reading your code that this output argument is not used.

Sign in to comment.


Duong Hien Thuan
Duong Hien Thuan on 21 Jul 2019
Thank Steven Lord so much!

Categories

Find more on Characters and Strings in Help Center and File Exchange

Tags

No tags entered yet.

Community Treasure Hunt

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

Start Hunting!