Obtaining integral function from code
    5 views (last 30 days)
  
       Show older comments
    
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 Comments
Accepted Answer
  Star Strider
      
      
 on 19 Jun 2019
        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 Comments
More Answers (0)
See Also
Categories
				Find more on Matrix Indexing in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
