我如何在 Scilab 中使用 Newton Raphson 方法找到函数的所有根?
How can i find all roots for a function using Newton Rapshon method in Scilab?
我需要找到这个函数 f(x)=-2x^4+x^3-2x+3 在给定区间 [-1.5 ; 内的所有根1.5],准确度 <0.0001。然后我必须绘制相对错误。
所以我得到了这段代码,但它不起作用。
deff('y=f(x)','y=-2x^4+x^3-2x+3')
a=input("Enter value of interval a:")
b=input("Enter value of interval b:")
n=input("Enter the number of iteration n:")
x0=(a+b)/2
for i=1:n
disp([i,x0])
x1=x0-f(x0)/z(x0)
if abs(x1-x0)<0.00001 then
disp("We get required accuracy")
break;
end
x0=x1
end
你的代码中有2个pb;
f函数的定义必须是
deff('y=f(x)','y=-2*x^4+x^3-2*x+3')
您没有在代码中定义 z 函数。它应该计算 f 在 x
处的导数
deff('y=z(x)','y=-8*x^3+3*x^2-2')
我需要找到这个函数 f(x)=-2x^4+x^3-2x+3 在给定区间 [-1.5 ; 内的所有根1.5],准确度 <0.0001。然后我必须绘制相对错误。 所以我得到了这段代码,但它不起作用。
deff('y=f(x)','y=-2x^4+x^3-2x+3')
a=input("Enter value of interval a:")
b=input("Enter value of interval b:")
n=input("Enter the number of iteration n:")
x0=(a+b)/2
for i=1:n
disp([i,x0])
x1=x0-f(x0)/z(x0)
if abs(x1-x0)<0.00001 then
disp("We get required accuracy")
break;
end
x0=x1
end
你的代码中有2个pb;
f函数的定义必须是
deff('y=f(x)','y=-2*x^4+x^3-2*x+3')
您没有在代码中定义 z 函数。它应该计算 f 在 x
处的导数deff('y=z(x)','y=-8*x^3+3*x^2-2')