In what I missed

3 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
Ok. Is it same when there is keyword after comma ? In the e.g. you cited its a variable iter which changes values in the program
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);

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Tags

Products


Release

R2019b

Community Treasure Hunt

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

Start Hunting!