Error when using integral function on exponential integration
조회 수: 18 (최근 30일)
이전 댓글 표시
function = @(x) (exp(x)/x);
y = integral(function,3.5,4.5);
댓글 수: 0
채택된 답변
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
추가 답변 (0개)
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!