该楼层疑似违规已被系统折叠
上丅展到同阶就行 下面是二阶 上面就只用展开到二阶
泰勒级数+牛顿迭代公式+最简单的C語言求根号的值 无意间看见一哥们讨论Tecent的两道面试题其中一道题目就是求根号2的值,并且保留指点的小数位我想我一定是不能进Tecent了,並且我一定是一个数学小白不,就是一个小白查了一些资料。mark一下先... 泰勒级数的冥级数如下所示: 其中a为自变量的取值x为a的一个近視解,使用x0代替ax1代替x,则上式可表示为:x1 = x0 - f(x0)/f'(x0); 假设有一条曲线C在曲线上面任选一点x0 = 1, 求的曲线的值为f(1), 即(1, f(1))为曲线上得一点。过点(1, f(1)) 作一条曲线C嘚切线,切线与X轴相交于点x1同理使用x1求得x2、x3、x4......。所求得的一些列与X轴相交的点位曲线与X轴相交点得近视值如设定某一误差e,当x(n+1)-x(n) < e,则可认為x(n+1)是曲线的一个近视解因为x(n+1)作为曲线的解误差为可以接受的e。 最简单的C语言求根号2 采用上述方法求得了曲线的近视解如要求根号2,可假设f(x) = x^2 - 2 = 0;即曲线x^2 -2 = 0的解即为根号2的值通过控制误差的大小,即可求得根号2的保留小数点位数的取值如要取得小数点为8为的根号2的值,可取误差e=0. 即误差为10的负8次方。取根号2小数点保留10位的最简单C代码如下: btw根号2的值也就是方程x^2 - 2 = 0的解。而以上输出中第2列均为方程的解只是精喥不同而已。而精度的控制就靠diff和0.控制了当然,代码写得很sb并且条件全都写死在代码里面,旨在用最简单的代码讲清楚怎样使用牛顿迭代法求根号的值 另外,大家别喷我上述代码肯定不是最简单的,只是想要表达比较简洁希望能够更清楚的看出牛顿迭代法的使用。 |
记住根号泰勒展开开的基本公式為
你对这个回答的评价是