Hello,
I am looking for a function that corresponds to the excel "match" function.
I have an array of (n,32) where n is sated in for loop function as a number of completed loops (so it differs).
DataOutput = zeros(length(phiAStart:phiAStep:phiAEnd),32);
I would like to find the smallest value in column 32 (y) and get the corresponding value in column 1 (x) where y=f(x).
DataOutput(colector,1) = x;
DataOutput(colector,32) = y;
I can not resolve a function (to get x) having y because it's numerically calculated polynomial so I thought about something similar that MATCH function from excel.
Is there any similar function in Matlab or simple script that can be introduced?
I will be thankful for any suggestions or codes that may work.

 Accepted Answer

Mateusz Brzezinski
Mateusz Brzezinski on 20 Feb 2020
Edited: Mateusz Brzezinski on 20 Feb 2020
number = min(DataOutput(:,32));
position = find(DataOutput(:,32)==number);
matchingx = DataOutput(position,1)
Works just fine

2 Comments

That will give you all the matching x values. Do you want that or do you want the first such match?
Mateusz Brzezinski
Mateusz Brzezinski on 21 Feb 2020
Edited: Mateusz Brzezinski on 21 Feb 2020
Ok, so what I have is 3rd derivative (f''') from fuction (f)
f''' always has only one root. I just assigned absf'''=abs(f''') to (DataOutput(colector,32)) so it flips negative values of f''' and I am looking for smalest value of absf''' and code above returnes me only one abs(f''') value.

Sign in to comment.

More Answers (2)

Steven Lord
Steven Lord on 20 Feb 2020

0 votes

Call the min function with two outputs. Use the second output to retrieve the corresponding value.

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Products

Release

R2019a

Tags

Community Treasure Hunt

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

Start Hunting!