function [y] = sumsqu(xx)
d = length(xx);
sum = 0;
for ii = 1:d
xi = xx(ii);
sum = sum + ii*xi^2;
end
y = sum;
end
Выше приведен код для d
переменных.Всякий раз, когда я вызываю функцию, я получаю сумму, как ожидалось.Теперь я хочу найти числовой градиент функции.Но поскольку функция возвращает скалярное значение, gradient
, очевидно, возвращает 0.Что я могу сделать, чтобы gradient
сначала вычислил в форме переменной, а затем вернул массив, соответствующий [x1 x2 x3....xd]
?
![Sample procedure](https://i.stack.imgur.com/79XNP.jpg)
Как вы можете видеть на картинке, я хочуэто в таком порядке.И я также хочу d
в качестве переменной, чтобы код мог быть универсальным.Надеюсь, вы поняли мою проблему.