用牛顿迭代法求方程的根:2*x*x*x-4*x*x+3*x-6=0

2025年03月01日 06:16
有2个网友回答
网友(1):

'用牛顿迭代法解方程:2x^3-4x^2+3x-6=0
'f(x0)=2x^3-4x^2+3x-6
'f'(x0)=6x^2-8x+3

Private Sub Form_Click()
Dim x As Single, x0 As Single, f As Single, f1 As Single
Dim N As Integer
N = 0
x = 3
Do
x0 = x '
f = ((2 * x0 - 4) * x0 + 3) * x0 - 6
f1 = (6 * x0 - 8) * x0 + 3
x = x0 - f / f1
N = N + 1
Loop While Abs(x - x0) >= 0.00001
Print
Print Tab(8); "解方程2x^3-4x^2+3x-6=0"
Print Tab(8); "方程的解=" & x
Print Tab(8); "循环次数=" & N
End Sub

网友(2):

#include
#include

int main()
{
double x = 1, x2;
do {
x2 = x;
x -= (2*x*x*x-4*x*x+3*x-6)/(6*x*x-8*x+3);
} while(fabs(x - x2) > 1e-6);
printf("root=%.2f\n", x);
}