Подумав об этом, я думаю, что это то, что вы имеете в виду. Вам нужны значения 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)
объяснить немного больше того, что вы имеете в виду, возможно, к примеру? – MZimmerman6
LET ME SAY x = 2, y = 3, тогда X = 13, когда x = 3, y = 4, X = 25, x = 4, y = 5, тогда X = 41. Поскольку d = min (X) => d = min (13,25,41) = 13. Теперь 13 соответствует x = 2 и y = 3. Я хочу показать это x и y. Как мне это сделать? – Misha
@ Миша. Я знаю, что такое экспоненты. Вы не объяснили, хотите ли вы попробовать все комбинации 'x' и' y', или просто отдельные индексы умножаются вместе – MZimmerman6