Error when using integral function on exponential integration

조회 수: 18 (최근 30일)
Athul R
Athul R 2016년 6월 2일
답변: Geoff Hayes 2016년 6월 2일
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