[討論] 不使用for迴圈的陣列運算
一維陣列 X/Y 為100個點的位置 x/y 分量
X=[x1 x2 x3....x100];
Y=[y1 y2 y3....y100];
有些情況下 X 和Y會跑出多餘的點
所以我想計算出每個點與剩餘點的距離
目的是想找出相鄰太近的質點,使其合併
我有寫出來,但總覺得用的方法太笨
求高手指點
我的程式碼:
for n=1:100
Xtemp=X(n);
Ytemp=Y(n);
distance=(Xtemp-X).^2+(Ytemp-Y).^2;
distance=sqrt(distance);
ind=find(distance~=0 & distance<20);
if isempty(ind)==0
X(n)=(X(n)+sum(X(ind)))/(length(ind)+1);
X(ind)=[];
Y(ind)=[];
end
end
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 1.34.54.3
※ 編輯: Anny19 來自: 1.34.54.3 (06/01 01:27)
→
06/03 23:16, , 1F
06/03 23:16, 1F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):