10/12/30 11:04:50
はじめまして。matlab初心者です。
下のプログラムは、要素数の異なる2次元配列a,bのすべての要素同志の距離を計算して、
もっとも小さい距離をmindistに入れて、その配列番号をi,jに保存するプログラムです。
mindist = 1;
for i=1:length(a)
for j=1:length(b)
if mindist > sqrt((a(1,i)-b(1,j)).^2 + (a(2,i)-b(2,j)).^2)
mindist = sqrt((a(1,i)-b(1,j)).^2 + (a(2,i)-b(2,j)).^2);
ind_i = i;
ind_j = j;
end
end
end
これをfor文を使わない形にした方が、高速化できると聞いたのですが、
変形の方法が分かりません。どうか、ご教授下さい。何卒よろしくお願い致します。