Everytime I run my code I keep getting an infinite recursion error. My code is posted below. Can you please help me figure out why it keeps giving me this error?
    3 views (last 30 days)
  
       Show older comments
    
It flags me at the y(:, i) = x.^(i)./factorial(i); line below.
function exp = expapprox(x,n)
n = 5;
x = 1:5;
% number of iterations for loop
for i = 1:n
    y(:, i) = x.^(i)./factorial(i);
end 
exp = 1+ sum(y);
actexp = exp(x); 
plot(actexp, expapprox(x,5))
end
0 Comments
Accepted Answer
  James Tursa
      
      
 on 18 Jul 2018
        
      Edited: James Tursa
      
      
 on 18 Jul 2018
  
      Your plot statement calls your function expapprox, so it gets into an infinite recursion. You've got another problem as well, since you create a variable named "exp" which is shadowing the MATLAB function of the same name. Pick a different variable name.
2 Comments
  James Tursa
      
      
 on 19 Jul 2018
				
      Edited: James Tursa
      
      
 on 19 Jul 2018
  
			E.g., something like this:
expcumsum = 1 + cumsum(y,2);
actexp = repmat(exp(x(:)),1,n); 
figure;
plot([expcumsum;actexp]','.-');
xlabel('Number of Terms');
ylabel('exp value');
title('Taylor Series exp convergence')
grid on
The value returned from the function could be something like this:
function expvalue = expapprox(x,n)
    :
expvalue = expcumsum(:,end);
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!