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!

 Réponse acceptée

Mischa Kim
Mischa Kim le 3 Juil 2014
Modifié(e) : Mischa Kim le 3 Juil 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 commentaires

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 le 3 Juil 2014
prft, thx

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Optimization Toolbox dans Centre d'aide et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by