MATLAB: Objective Function must return a scalar value.

scalar value

Dear friends,
I am trying to do an optimization for a function using a "fmincon" function. I have got an error and couldn't find the problem.
The following is the error obtained :
Error using fmincon (line 609)
Supplied objective function must return a scalar value.
Error in Topo_3D (line 31)
[x,fval,ef,output,lambda,hessian] = fmincon(objective,x0,A,b,Aeq,beq,lb,ub,nonlincon,options);
A copy of my fmincon function is attached.
I appreciate if somebody help with this issue and how can be solved.
Thank you very much.
RTFQ

Best Answer

f = nf*'u';
That multiplies the column vector nf by the literal character lower-case U. The 'u' will be converted to the character position that is used to encode 'u' which happens to be 117. So the vector nf is multiplied by the scalar 117 which yields a vector. However the first output of the objective function must be a scalar.
Your code happens to ignore the content of the variable you assigned, namely u
Perhaps you want nf*u' if u is a column vector the same length as nf