J'ai 2 vecteurs dont l'un est de dimension 200 * 2 et l'autre de 3 * 2. Tous sont des points dans un système de coordonnées cartésien. Je veux calculer la distance entre les 200 premiers et les 3 autres points et les stocker dans un vecteur. J'utilise une fonction comme celle-ci;Distance entre deux points dans Matlab
for i=1:cur
for j=1:200
L(j,i)=sqrt(square(P2(i,1)-C(j,1))+square(P2(i,2)-C(j,2)))
end
end
où est cabot 3, P2 étant le 3 * 2 vecteur et C étant le 200 * 2.Now les résultats que je reçois sont complètement faux, mais je ne peux pas comprendre le problème à cela. Toute aide serait bonne, s'il y a une autre façon de calculer ce que j'apprécierais.Par la façon de plus d'informations;
P2 = [2 -2;3 -5 ; -1 3];
et l'autre est
theta = linspace(0,2*pi,200)'; %'
unitCircle = [cos(theta) sin(theta)];
C = zeros(numel(theta),2,num);
Je pensais juste que dehors, maintenant je suis à l'aide pow2 au lieu de cela mais je suis toujours obtenir des résultats irrevelant faire vous savez comment ça se passe? –
N'utilisez pas non plus 'pow2'. 'pow2 (x)' renvoie 2 à la puissance x, pas x à la puissance 2. Pour obtenir x au carré, utilisez 'x.^2'. –