Stuck at coding newton-Rapson method

3 views (last 30 days)
seoung gi Sin
seoung gi Sin on 10 Apr 2022
Edited: Stephen23 on 10 Apr 2022
I inputed the number exp(-x) into an input and 3 into x0
but the Matlab says that Index exceeds the number of array elements, index must not exceed 1
Could you solve this problem for me, Thanks in advance.
clear all
clc
syms x;
fun=input('Enter the function as a variable of x');
f=inline(fun);
f2=diff(f(x));
x0=input('Enter the initial value of interval');
z=[];
error=10^-8;
tol=inf;
i=0;
z(1)=x0;
while tol>error
i=i+1;
z(i+1)=z(i)-(f(z(i))/f2(z(i)));
error=(z(i+1)-z(i))/z(i+1);
end

Answers (1)

KSSV
KSSV on 10 Apr 2022
Replace this line:
f2=diff(f(x));
with
f2=inline(diff(f(x)));

Categories

Find more on Structures in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!