fminsearch error regarding matrix dimensions

Hi
I am using fminsearch to minimize the following function:
a_d = 13.2414;
a_nd = 15.5107;
b_d = -1.4207;
b_nd = -1.9339;
Ft = 35;
funct = @(x)a_d*((2*Ft)/(x+1))+b_d+(a_nd*x*((2*Ft)/(x+1)))+b_nd;
[x,fval] = fminsearch(funct, [0, 10]);
But do get the following error:
Error using /
Matrix dimensions must agree.
Error in @(x)a_d*((2*Ft)/(x+1))+b_d+(a_nd*x*((2*Ft)/(x+1)))+b_nd
Error in fminsearch (line 191)
fv(:,1) = funfcn(x,varargin{:});
Error in Script (line 22)
[x,fval] = fminsearch(funct, [0, 10]);
What is the problem? Thanks!

 Respuesta aceptada

Mischa Kim
Mischa Kim el 3 de Jul. de 2014
Editada: Mischa Kim el 3 de Jul. de 2014
MiauMiau, the function funct has only one dependent variable, x, correct? If so this needs to be reflected in the function call for fminsearch
[x,fval] = fminsearch(funct, 0);
With your function call
[x,fval] = fminsearch(funct, [0, 10]);
you assign starting values for a 2-vector, e.g. x1 and x2.

3 comentarios

Thanks, that sort of worked, I get:
>> Script
Exiting: Maximum number of function evaluations has been exceeded
- increase MaxFunEvals option.
Current function value: -65036482218856192.000000
I want to restrict the x value where fmin is looking for the minima to [0,10] - how could I do that? I guess this would also solve the latest "error". thx!
Use instead
[x,fval] = fminbnd(funct,0,10)
MiauMiau
MiauMiau el 3 de Jul. de 2014
prft, thx

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Optimization en Centro de ayuda y File Exchange.

Etiquetas

Preguntada:

el 3 de Jul. de 2014

Comentada:

el 3 de Jul. de 2014

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by