Calcul de la distance entre un point et les éléments d'une matrice avec matlab

Description

Ce programme permet de calculer les Eléments la plus petite distance entre un point de test et les différents point d'une matrice.

Source / Exemple :


Fichier :  function2p.m 
---------------------------------------------------------------------------------------------------------
function dist=function2p(vect,vectA)
% calcul de l'equation d'une droite passant par deux points
% d=sqrt[(x2-x1).^2 + (y2-y1).^2]
     
 
dist=sqrt(    sum(( repmat( vect,1,size(vectA, 2) )-vectA).^2) );
---------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------
Fichier :  pgmprincipal.m
---------------------------------------------------------------------------------------------------------
format compact
clear
clc
 
vectA=[ 1 -1 2;  1  0 -1];% Creation de matrice vectA
vect = [0;1]; % Point a tester dans le calcul de la distance
 
 
dist= function2p(vect,vectA);
 
[res, index ] = sort(dist, 'ascend');
% Trouver l'indice de deux points correspondant aux plus petites distances
indice1=index(1);
indice2=index(2);
 
figure (12);
 
% Affichage des points de la Matrice
plot( vectA(1,:), vectA(2,:), 'k.'); axis([-2 3 -2  1.5]); hold on;
title('CALCUL DE LA COURTE DISTANCE ENTRE 2 POINTS');
xlabel('X ligne'); ylabel('Y ligne');
legend('Matrice Points');
 
% Affichage du point de test
plot(vect(1), vect(2), 'bs');
% Affichage en cercle rouge de deux points le plus proche
plot(vectA(1,indice1), vectA(2,indice1), 'ro');
plot(vectA(1,indice2), vectA(2,indice2), 'ro');
hold  off;

---------------------------------------------------------------------------------------------------------

Conclusion :


le calcul peut se faire avec n'importe quelle taille de la matrice et le resultat en MATLAB affiche tout les points de votre matrice, le point de test en Carre bleu ainsi que les deux points les plus du point de test en cercle rouge. merci

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Du même auteur (daniekatual)