Obtaining integral function from code
조회 수: 1 (최근 30일)
이전 댓글 표시
Hello there!
I am trying to obtain the integral function of a complicated relation.
Here though, to check out the code, I am implementing the integral of f(x) = x.
However, I get an error when the index i of my function reaches 0.7.
Could please tell me why?
Thanks,
Have a good day.
Andrea.
MAIN:
x = [0:0.1:1];
prova = @(x) x;
figure
res(1:end) = fun_integra(prova, 0, 1, 0.1);
plot(x,prova(x))
figure
plot(x, res(1:end))
FUNCTION fun_integra
function [res] = fun_integra(integrand, low, up, step)
for i=low:step:(up-step)
res((i-low)/(step)+1) = integral(integrand, low, i+step);
end
end
댓글 수: 0
채택된 답변
Star Strider
2019년 6월 19일
At that value, the subscript is no longer an integer. This is most likely a problem with floating-point calculation error. Using the fix (link) function to force the subscript to be an integer corrects it:
res(fix((i-low)/(step)+1)) = integral(integrand, low, i+step);
That leaves the problem of ‘x’ and ‘res’ not being the same lengths in:
res = fun_integra(prova, 0, 1, 0.1);
fixed by :
plot(x(1:numel(res)), res(1:end))
댓글 수: 0
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Multidimensional Arrays에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!