Matlab @fminunc objective function optimization -


i practicing simple function optimization in matlab , hope provide little assistance / explanation on following error:

%quadramin.m function z=quadramin(param,data); z=data.*(param(1).^2 - param(2).^3)+3;  %quadramin_lik.m function quadlik = quadramin_lik(param,data); %pseudo/ad-hoc log-likelihood function quadlik = quadramin(param,data)- 10;  %script.m data=trnd(5,6,1); param0=[2,3]; [param_eq,exitflag,output,grad,hessian] = ...  fminunc(@(param) quadramin_lik(param,data),param0) 

output after executing %script.m: error using fminunc (line 333) user supplied objective function must return scalar value.

ps: looks paradoxical user-defined functions quadramin && quadramin_lik return values.

thanks

both functions return vector of values whereas fminunc requires function returns scalar / single value. error pretty clear. function fminunc trying find best solution minimizes cost function, need supply cost function.

therefore, perhaps try summing results in each function before returning them.... doing doesn't guarantee global minimum because fminunc assumes cost function convex. however, judging comments computing log likelihoods, summing should doing way!


Comments

Popular posts from this blog

python - TypeError: start must be a integer -

c# - DevExpress RepositoryItemComboBox BackColor property ignored -

django - Creating multiple model instances in DRF3 -