Integration doesnt work, ndefined function or method 'integral' for input arguments of type 'function_handle'.

4 visualizzazioni (ultimi 30 giorni)
Hi to all, I have to solve the following optimization:
theta_cal_const = fmincon(distance , theta0 , [] , [] , [] , [] , lb , ub ,[] ,
options );
with:
distance = @(theta) integral(@(u) integrand(u ,theta),-K, -gap_halfwidth )+ integral(@(u) integrand(u , theta ), gap_halfwidth , K) ;
as a result, matlab returns me the error:
undefined function or method 'integral' for input arguments of type'function_handle'.
Error in ==> fmincon at 517
initVals.f = funfcn{3}(X,varargin{:});
Error in ==> maxLH at 32
theta_cal_const = fmincon(distance , theta0 , [] , [] , [] , [] , lb , ub ,[] ,
options );
Caused by:
Failure in initial user-supplied objective function evaluation. FMINCON cannot
continue.
this is the first time i use fmincon, i dont really understant the error message. Thank you for help
  5 Commenti
Star Strider
Star Strider il 24 Mar 2015
What do you get when you copy, paste, and run these lines in the Command Window:
a = whos('integral')
b = which('integral')
You should get only:
a =
0x1 struct array with fields:
name
... etc.
b =
C:\Program Files\MATLAB\R2015a\toolbox\matlab\funfun\integral.m
Dam
Dam il 24 Mar 2015
I get a =
0x1 struct array with fields: name size bytes class global sparse complex nesting persistent
b =
''

Accedi per commentare.

Risposta accettata

Star Strider
Star Strider il 24 Mar 2015
The integral function has been a core MATLAB function since R2012a, so if you have that version or later, you should have it. If your version is earlier than that, use quad or one of its friends instead of integral. (The online documentation is currently for R2015a.)
If you have R2012a or later, you may have a toolbox path problem. See if running these from the Command Window solves it:
restoredefaultpath
rehash toolboxcache

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by