Error when using integral function on exponential integration

18 次查看(过去 30 天)
function = @(x) (exp(x)/x);
y = integral(function,3.5,4.5);

采纳的回答

Geoff Hayes
Geoff Hayes 2016-6-2
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.

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Numerical Integration and Differentiation 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by