
Originally Posted by
pjkily
Hi all, I am trying to write a Fixed Point Iteration program but when I enter in the command line it kept giving me an error message. Can you please look over my program and tell me what might have gone wrong? Thank you very much!
First, I defined a function in a new M-File:
function y=FUN3(x)
y=5/(sin(x)*exp(-x./2));
Then, I opened up another M-File and wrote the program:
function Xs = FixedIterationRoot3(FUN3,Xest,imax)
syms x FUN3 FunDer3
Xi(1)=Xest;
FUN3=5/(sin(x)*exp(-x./2));
FunDer3 = diff(FUN3) % To find g'(x)
if abs(subs(FunDer3,x,Xest))>=1 % to check if g'(x) diverges
return;
fprintf('not valid')
end
for i=2:imax
Xi(i)=feval(FUN3,Xest);
Xest=Xi(i);
Xs=Xi;
end
When I enter in the command line:
>> xSolutions=FixedIterationRoot3('FUN3',-3,10)
it gave me error message:
syms x FUN3 FunDer3
??? Output argument "Xs" (and maybe others) not assigned during call
to
"C:\Users\Jane\Documents\MATLAB\FixedIterationRoot 3.m>FixedIterationRoot3".
Can you please help me fix something that is wrong or suggest an alternate method for Fixed Point Iteration?
I GREATLY APPRECIATE YOUR TIME!