MATLAB Answers


How can i make my unique search function work correctly?

Asked by Barnabas
on 19 Jun 2013

I have a unique sort function to search an array, and find at what points the data values change. Unfortunately it only works for data values that are increasing, and intermittently. It does not count all of the values.

[~,T] = unique(Torque,'first'); [T] = sort(T,'ascend');

Example Array [0 0 1 2 3 2 1 0 0 0 10 20 30 20 10 0 0 0 ]

I would like it to give me the line # everytime the value in the area changes from the previous one, and ideally set it for what increment to look for. Thanks, any help is appreciated.


Jan Simon
on 19 Jun 2013

I do not understand the question. Could you provide the wanted result for your example array?

Like Jan and Cyclist I do not understand your question, Barnabas. Your statement "give me the line # everytime the value in the area changes from the previous one" seems totally unrelated to the code you exhibit. Do "line #"and "value in the area" apply to the 'Torque' array or to the 'T' array of indices? If you are talking about the original 'Torque' array and you want to see the points in it where a change occurs, you should be applying the 'diff' function to it, as Cyclist said, something like:

 diff(Torque) ~= 0

which would give you a list of trues and falses indicating changes or lack thereof. If you do a 'find' function on this list it will give you the addresses of where all the changes are occurring.

See if you can't come up with a much more detailed explanation of what you are seeking.


No products are associated with this question.

1 Answer

Answer by the cyclist
on 20 Jun 2013

I am not sure I fully understand your question, and agree with Jan's suggestion in his comment.

That being said, I think you might find the diff() command might do exactly what you want.


Join the 15-year community celebration.

Play games and win prizes!

Learn more
Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

MATLAB Academy

New to MATLAB?

Learn MATLAB today!