Hi,
You are computing "operator<" over complex number (which is not defined)
because your distance matrix has an error
Try with this change
distance(i,j) = sqrt((etat(i,1)-etat(j,1))**2+(etat(i,2)-etat(j,2)**2));
=>
distance(i,j) = sqrt((etat(i,1)-etat(j,1))**2+(etat(i,2)-etat(j,2))**2);
Full script:
// initialisation
diam = 0.2;
nd = 10;
etat = (rand(nd,2) -0.5)*4;
distance = zeros(nd,nd);
//compute distance matrix
for i = 1:(nd-1)
for j = (i+1):nd
distance(i,j) =
sqrt((etat(i,1)-etat(j,1))**2+(etat(i,2)-etat(j,2))**2);
end
end
//find close pairs
[li,lj] = find(distance<diam)
Best,
On 05/27/2014 01:49 PM, grivet wrote:
Hello,
While trying to compute pairwise distances between random points, I
have come across
a behavior of function find() that I don't understand. I do the
following:
// initialisation
diam = 0.2;
nd = 10;
etat = (rand(nd,2) -0.5)*4;
distance = zeros(nd,nd);
//compute distance matrix
for i = 1:(nd-1)
for j = (i+1):nd
distance(i,j) =
sqrt((etat(i,1)-etat(j,1))**2+(etat(i,2)-etat(j,2)**2));
end
end
//find close pairs
[li,lj] = find(distance<diam)
With both Scilab 5.4.1 and Scilab 5.5, the last line raises the error
message:
!--error 144
Opération non définie pour les opérandes données.
I will be grateful to anybody who spots my error.
Thank your for your time,
JP Grivet
_______________________________________________
users mailing list
users@lists.scilab.org
http://lists.scilab.org/mailman/listinfo/users
--
Pierre-Aimé Agnel
Development Team
-----------------------------------------------------------
Scilab Enterprises
143bis rue Yves Le Coz - 78000 Versailles, France
Phone: +33.1.80.77.04.68
http://www.scilab-enterprises.com
_______________________________________________
users mailing list
users@lists.scilab.org
http://lists.scilab.org/mailman/listinfo/users