MATLAB: Error when using integral function on exponential integration

exponential functionexponential integrationintegration

function = @(x) (exp(x)/x);
y = integral(function,3.5,4.5);

Best Answer

Athul - the error message is
function = @(x) (exp(x)/x);
Error: Function definitions are not permitted in this context.
The keyword function should be considered reserved for defining functions in your m-files and not for anonymous functions. Try using something else instead. For example,
myFunc = @(x) (exp(x)/x);
y = integral(myFunc,3.5,4.5);
You will get a different error with the above
Error using integralCalc/finalInputChecks (line 515)
Output of the function must be the same size as the input. If FUN is an array-valued
integrand, set the 'ArrayValued' option to true
When using integral, an array of elements will be passed into your anonymous function, so x will be an array. Adjust your definition to
myFunc = @(x) (exp(x)./x);
so that an element-wise division occurs.