# How to find the minimum difference between the 3 elements of a vector in app designer?

5 views (last 30 days)
piston_pim_offset on 11 Dec 2023
Commented: piston_pim_offset on 13 Dec 2023
I need to group the elements of a matrix 3 by 3 with the minimum difference between them. I found something like that: min(min(abs(X(1)-X2))), but l have 3 values.
Dyuman Joshi on 11 Dec 2023
Edited: Dyuman Joshi on 11 Dec 2023
I am asking what logic did you follow to get that output from that particular input.
How do you define minimum difference?
piston_pim_offset on 11 Dec 2023
It was an axample. l didn't use anything, just looked at the numbers and wrote it.

DGM on 12 Dec 2023
I take this to mean the three elements of X with the smallest extreme spread. I don't see that pdist2() would work for that.
This might work, so long as the number of elements in X stays small.
X = randi([0 99],3,3)
X = 3×3
65 46 98 71 61 28 91 4 26
C = nchoosek(X(:),3);
Crange = range(C,2);
row = Crange == min(Crange);
C(row,:)
ans = 1×3
65 71 61
From what's given, there's no reason to think that there's a unique minimum combination. The first example @Dyuman Joshi gave is a good demonstration. The example I gave will return all combinations with the same minimum spread.
DGM on 13 Dec 2023
I still don't understand. How does a 3x3 array have 12 elements, and where does 4 come in?
Are you trying to find the minimal combinations left in X after removing each minimal combination?
piston_pim_offset on 13 Dec 2023
-Are you trying to find the minimal combinations left in X after removing each minimal combination?
+Absolutely!

Sulaymon Eshkabilov on 11 Dec 2023
Try to implement pdist2()
piston_pim_offset on 11 Dec 2023
l'll try.