Otóż borykam się z pewnym problemem. Mianowicie mam napisany program i nie wiem, dlaczego nie podaje mi przybliżonej wartości pierwiastka wielomianu. Wszystko dobrze chodzi, ale wcale nie pokazuje wyniku funkcji jaka jest newton(f,x0,delta,epsilon). Całkiem możliwe, że problem tkwi w samej składni programu. Bardzo proszę o pomoc.
Kod: Zaznacz cały
x=linspace(-10,10,1000);
f=input("=")
x0=input("=")
b=input("=")
delta=input("=")
epsilon=input("=")
function y=f(x)
endfunction
function p=poch(f,x)
h=0.0000001;
p=(f(x+h)-f(x))/h
endfunction
function newton(f,x0,delta,epsilon)
x=linspace(x0,b,100);
if(abs(f(x0))<delta)
printf("Twoje miejsce zerowe wynosi %f ,zostalo uzyskane po 0 iteracjach i jego wartosc wynosi %f",x0,f(x0));
endif
for i=1:50
x1=x0-(fpoch(f))
v=f(x1)
if(abs(x1-x0)<epsilon || abs(v)<delta)
printf("Twoje miejsce zerowe wynosi %f ,zostalo uzyskane po i iteracjach i jego wartosc wynosi %f", i,x1,v)
endif
printf("Twoje miejsce zerowe wynosi %f ,zostalo uzyskane po i iteracjach i jego wartosc wynosi %f",x1)
endfor
endfunction