假定x、y的值分别为M和N,需要计算$ x \div y $的值
x = N x = N x=N
y = M y = M y=M
将除法格式变换为数据相乘
x y = x × 1 y = N × 1 M \frac{x}{y} = x\times\frac{1}{y} = N\times\frac{1}{M} yx=x×y1=N×M1
如何得到 1 M \frac{1}{M} M1,如下方程为0时刻的解
f ( x ) = 1 x − M ( E Q . 1 ) f(x)=\frac{1}{x}-M \quad (EQ.1) f(x)=x1−M(EQ.1)
可导情况下
f ( x 1 ) = f ( x 0 ) + f ′ ( x 0 ) ( x 1 − x 0 ) f(x_1) = f(x_0)+f'(x_0)(x_1-x_0) f(x1)=f(x0)+f′(x0)(x1−x0)
令 f ( x 1 ) = 0 f(x_1)=0 f(x1)=0,则
0 = f ( x 0 ) + f ′ ( x 0 ) ( x 1 − x 0 ) 0 = f(x_0)+f'(x_0)(x_1-x_0) 0=f(x0)+f′(x0)(x1−x0)
得到牛顿迭代公式
x 1 = x 0 − f ( x 0 ) f ′ ( x 0 ) ( E Q . 2 ) x_1 = x_0 - \frac{f(x_0)}{f'(x_0)} \quad (EQ.2) x1=x0−f′(x0)f(x0)(EQ.2)
将EQ.1代入EQ.2得到:
x 1 = x 0 − 1 x 0 − M ( 1 x 0 − M ) ′ x_1 = x_0 - \frac{\frac{1}{x_0}-M}{(\frac{1}{x_0}-M)'} x1=x0−(x01−M)′x01−M
x 1 = x 0 − 1 x 0 − M ( 1 x 0 − M ) ′ x_1 = x_0 - \frac{\frac{1}{x_0}-M}{(\frac{1}{x_0}-M)'} x1=x0−(x01−M)′x01−M
x 1 = x 0 − 1 x 0 − M − 1 x 0 2 x_1 = x_0 - \frac{\frac{1}{x_0}-M}{-\frac{1}{x_0^2}} x1=x0−−x021x01−M
x 1 = x 0 + x 0 × ( 1 − M × x 0 ) x_1 = x_0 + x_0\times(1-M \times x_0) x1=x0+x0×(1−M×x0)
x 1 = x 0 × ( 2 − M × x 0 ) x_1 = x_0\times(2-M \times x_0) x1=x0×(2−M×x0)
本文介绍了如何运用牛顿迭代法计算整数除法,通过将除法转换为乘法形式,然后利用牛顿迭代公式不断逼近求解,详细展示了迭代过程和公式推导。
481

被折叠的 条评论
为什么被折叠?



