Finding the closest value in an array of 7 dimension vector
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Ganesh Kini
le 16 Avr 2020
Modifié(e) : Ameer Hamza
le 17 Avr 2020
Hi,
I have an array period_temp (2,1,1,10,10,10,8) which gives a lot of values in 2 * 1 * 1 * 10 * 10 * 8 matrix
now suppose i have one value say 3.5 which is not present in the matrix.
How do I find the closest value to 3.5?
Please guide me, I am a beginner
0 commentaires
Réponse acceptée
Ameer Hamza
le 17 Avr 2020
Modifié(e) : Ameer Hamza
le 17 Avr 2020
This code shows an example
x = rand(2,2,2);
val = 0.5;
[~,idx] = min(abs(x-val), [], 'all', 'linear');
[i1,i2,i3] = ind2sub(size(x), idx); % return index in each dimension
closest_value = x(i1,i2,i3);
The following is equivalent to the above code but convenient to use if the number of dimensions is large.
x = rand(2,2,2);
val = 0.5;
[~,idx] = min(abs(x-val), [], 'all', 'linear');
[i{1:3}] = ind2sub(size(x), idx); % return index in each dimension
closest_value = x(i{:});
0 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Matrix Indexing dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!