例を考えてみましょう。
x=rand(5,1)
y=rand(5,1)
X=x.^2+y.^2
d=min(X)
「d」のどの値が格納されているかに対応する x と y の値を選択したい! それ、どうやったら出来るの?
例を考えてみましょう。
x=rand(5,1)
y=rand(5,1)
X=x.^2+y.^2
d=min(X)
「d」のどの値が格納されているかに対応する x と y の値を選択したい! それ、どうやったら出来るの?
を使用して見つけた最小値の x 値と y 値を探している場合は、次d=min(X)
を使用したいと思います。
x(X==d)
y(X==d)
よくよく考えると、こういうことだと思います。の値が必要でx
ありy
、 によって返される最小値が作成されmin(X)
ます。以下のコードはこれを行います
x=rand(5,1);
y=rand(5,1);
[xx,yy] = meshgrid(x,y);
X=xx.^2+yy.^2;
[i,j] = find(X == min(X(:)));
minX = x(i)
minY = y(j)
bsxfun
または、の使用を削除するよりクリーンなバージョンがありますmeshgrid
x=rand(5,1);
y=rand(5,1)';
multFunc = @(x,y) x.^2+y.^2;
X = bsxfun(multFunc,x,y);
[i,j] = find(X == min(X(:)));
minX = x(i)
minY = y(j)