function x = rfNewtonR(fun,x,TolX,itmax)
y(1)=x;
dif=diff(sym(fun));
d=inline(dif);
for i=1:itmax
y(i+1)=y(i)-((fun(y(i))/d(y(i))));
err(i)=abs((y(i+1)-y(i))/y(i));
fprintf('for %d iteration ans is %0.3f %0.2f\n',i,y(i),err(i));
if err(i)<TolX %checking the amount of error at each iteration
break
end
if(isnan(err(i)))
msg = 'rfNewtonR: Iteration Limit Exceeded';
error(msg);
end
end
x=y(i);
end

답변 (1개)

Steven Lord
Steven Lord 2023년 1월 18일

0 개 추천

To convert a symbolic expression into something you can evaluate numerically use the matlabFunction function.

카테고리

도움말 센터File Exchange에서 Function Creation에 대해 자세히 알아보기

질문:

2023년 1월 18일

답변:

2023년 1월 18일

Community Treasure Hunt

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

Start Hunting!

Translated by