Hello, I have the objective function and I want to minmize this gradiant. e is a vector of ones and y is a vector of size . The . I want find that minmize this objective function. Here is my attempt: y = rand(1000, 1); % Random target values e = ones(size(y)) global y My target function is : function gradient = gradient(h) global y gradient = 2 * (h*ones(size(y)) - y); end and then calling the function into fminsearch to get the result by : mu_y = fminsearch( @(h)gradient(h),0); and I got the error massage : >> mu_y = fminsearch( @(h)gradient(h),0); Unable to perform assignment because the size of the left side is 1-by-1 and the size of the right side is 1000-by-1. Error in fminsearch (line 201) fv(:,1) = funfcn(x,varargin{:}) Can someone please help in this problem thanks.
Kshitij Singh answered .
2025-11-20
gradient = 2 * (h*ones(size(y)) - y);
gradient = sum(2 * (h*ones(size(y)) - y).^2);
numel(y)*4*h == 4*sum(y) ---> h = sum(y)/numel(y) --> h = mean(y)