MATLAB Answers

In what I missed

2 views (last 30 days)
Saad Almalki
Saad Almalki on 7 Dec 2020
Commented: VBBV on 8 Dec 2020
function [ val, ea, iter] = IterMeth(x , es, maxit)
%%initialization
iter=12;
val = exp(1);
xr = [ ];
ea =100;
%iterative calculation
while (1)
xrold=xr;
xr= xr-x^iter/factorial(iter); <--------------------------here?
iter= iter+ 1;
if xr~=0
ea=abs((xr-xrold)/xr)*100;
end
if ea<=es || iter >= maxit,break,end
end
val=xr;
end
  8 Comments
VBBV
VBBV on 8 Dec 2020
%if true
if ea<=es || iter >= maxit,break,end
Give a value to maxit variable before it enter the while loop

Sign in to comment.

Answers (1)

Walter Roberson
Walter Roberson on 7 Dec 2020
Edited: Walter Roberson on 7 Dec 2020
xr = [ ];
That is empty.
xrold=xr;
so that is empty.
xr= xr-x^iter/factorial(iter); %<--------------------------here?
empty minus anything would be empty.
You are passing in x, but if it is not a scalar, you need
xr = xr - x.^iter ./ factorial(iter);

Tags

Products


Release

R2019b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!