Вы находитесь на странице: 1из 3

clear all

clc; syms x

disp('METODE NEWTON RAPHSON')


disp('=====================')

f=input('Persamaan : ');
a=input('Nilai awal : ');

ft=diff(f,x);

disp('------------')

disp('Sistem penentuan hampiran akar.')


disp('1. Galat 2. Iterasi')
pil=input('Pilih : ');
switch pil

case 1

gal=input('Galat : ');
clc

disp('METODE NEWTON RAPHSON - Galat')


disp('=====================')

h=sprintf('f(x) = %s',char(f));
disp(h)
ha=sprintf('f"(x) = %s',char(ft));
disp(ha)
fprintf('Tebakan awal akar x0 = %.2f\n',a)
fprintf('Galat = %.5f\n',gal)
disp('---------------')

if abs(subs(f,a))<gal
fprintf('Maka hampiran akar = %.4f\n',a)
return
end

b=a-(subs(f,a)/subs(ft,a));
er=abs(b-a);

i=0;

disp(' i xi xi+1 error')


disp('------------------------------------')

while er>gal
b=a-(subs(f,a)/subs(ft,a));
er=abs(b-a);

i=i+1;

fprintf('%2.d %10.5f %10.5f %11.5f\n',i,a,b,er)

if er>gal
a=b;
end
end

disp('------------------------------------')
fprintf('Maka solusi hampiran akar = %.5f\n',b)
fprintf('Pada iterasi ke %d\n',i+1)

case 2

it=input('Iterasi maks : ');


clc

disp('METODE NEWTON RAPHSON - Iterasi')


disp('=====================')

h=sprintf('f(x) = %s',char(f));
disp(h)
ha=sprintf('f"(x) = %s',char(ft));
disp(ha)
fprintf('Tebakan awal akar x0 = %.2f\n',a)
fprintf('Iterasi Maks = %d\n',it)
disp('---------------')

ft=diff(f,x);

b=a-(subs(f,a)/subs(ft,a));

er=abs(b-a);

disp(' i xi xi+1 |xi+1 - xi|')


disp('--------------------------------------')

for i=1:it

b=a-(subs(f,a)/subs(ft,a));
er=abs(b-a);

fprintf('%2.d %10.5f %10.5f %11.5f\n',i,a,b,er)

if i<it
a=b;
end
end

disp('--------------------------------------')
fprintf('Maka solusi hampiran akar = %.5f\n',a)

otherwise
disp('Pilihan tidak sesuai!')
return
end

Вам также может понравиться