牛顿法、梯度下降原理及实际问题解决

牛顿法、梯度下降原理及实际问题解决 Python编程

一、牛顿法原理:

牛顿法是一种在实数域和复数域上近似求解方程的方法。方法使用函数f (x)的泰勒级数的前面几项来寻找方程f (x)=0的根。牛顿法最大的特点就在于它的收敛速度很快。牛顿法是一种迭代算法。

在这里插入图片描述

牛顿法的详细原理:https://blog.csdn.net/sigai_csdn/article/details/80678812

二、梯度下降法原理

梯度下降法又称最速下降法,是求解无约束最优化问题的一种最常用的方法,在对损失函数最小化时经常使用。梯度下降法是一种迭代算法。选取适当的初值x(0),不断迭代,更新x的值,进行目标函数的极小化,直到收敛。由于负梯度方向时使函数值下降最快的方向,在迭代的每一步,以负梯度方向更新x的值,从而达到减少函数值的目的。

接下来用梯度下降法来解决实际问题
在这里插入图片描述

首先用Excel
在这里插入图片描述

可见极小值为-8,极小点为(4,2)

然后用Python代码来实现梯度下降

import numpy as np
import matplotlib.pyplot as plt
import matplotlib as mpl
import math
from mpl_toolkits.mplot3d import Axes3D
import warnings
def f2(x1,x2):
    return x1**2 + 2*x2**2 - 4*x1 - 2*x1*x2
 
X1 = np.arange(-4,4,0.2)
X2 = np.arange(-4,4,0.2)
X1, X2 = np.meshgrid(X1, X2) # 生成xv、yv,将X1、X2变成n*m的矩阵,方便后面绘图
Y = np.array(list(map(lambda t : f2(t[0],t[1]),zip(X1.flatten(),X2.flatten()))))
Y.shape = X1.shape # 1600的Y图还原成原来的(40,40)
 
%matplotlib inline
#作图
fig = plt.figure(facecolor='w')
ax = Axes3D(fig)
ax.plot_surface(X1,X2,Y,rstride=1,cstride=1,cmap=plt.cm.jet)
ax.set_title(u'$ y = x1^2+2x2^2-4x1-2x1x2 $')
plt.show()

在这里插入图片描述

def f2(x1, x2):
    return x1 ** 2+2*x2 ** 2-4*x1-2*x1*x2
## 偏函数
def hx1(x1, x2):
    return 2* x1-4-2*x2
def hx2(x1, x2):
    return 4*x2-2*x1 
x1 = 4
x2 = 3
alpha = 0.1
#保存梯度下降经过的点
GD_X1 = [x1]
GD_X2 = [x2]
GD_Y = [f2(x1,x2)]
# 定义y的变化量和迭代次数
y_change = f2(x1,x2)
iter_num = 0
 
while(y_change < 1e-10 and iter_num < 10000) :   #此处可以设置迭代的次数以及y的变化量小于多少时停止迭代
    tmp_x1 = x1 - alpha * hx1(x1,x2)
    tmp_x2 = x2 - alpha * hx2(x1,x2)
    tmp_y = f2(tmp_x1,tmp_x2)
    f_change = np.absolute(tmp_y - f2(x1,x2))
    x1 = tmp_x1
    x2 = tmp_x2
    GD_X1.append(x1)
    GD_X2.append(x2)
    GD_Y.append(tmp_y)
    iter_num += 1
print(u"最终结果为:(%.5f, %.5f, %.5f)" % (x1, x2, f2(x1,x2)))
print(u"迭代过程中X的取值,迭代次数:%d" % iter_num)
print(GD_X1)
 
# 作图
fig = plt.figure(facecolor='w',figsize=(20,18))
ax = Axes3D(fig)
ax.plot_surface(X1,X2,Y,rstride=1,cstride=1,cmap=plt.cm.jet)
ax.plot(GD_X1,GD_X2,GD_Y,'ko-')
ax.set_xlabel('x')
ax.set_ylabel('y')
ax.set_zlabel('z')
ax.set_title(u'函数;\n学习率:%.3f; 最终解:(%.3f, %.3f, %.3f);迭代次数:%d' % (alpha, x1, x2, f2(x1,x2), iter_num),fontsize=30)
plt.show()

最终结果为:(4.00000, 2.00000, -8.00000)
迭代过程中X的取值,迭代次数:10000
[4, 4.2, 4.28, 4.304, 4.3024000000000004, 4.2896, 4.272384, 4.2539136, 4.23563008, 4.218160128, 4.201746944, 4.18645526528, 4.172268716032001, 4.1591358857216, 4.14699200495616, 4.13576901722112, 4.125400141928858, 4.1158218311231085, 4.106974501123654, 4.098802695878947, 4.0912549937361185, 4.084283805043829, 4.077845129817469, 4.071898307525172, 4.066405773415553, 4.061332827470699, 4.056647418156135, 4.052319941331482, 4.048323053875375, 4.044631501239673, 4.041221958030377, 4.038072880697072, 4.035164371442535, 4.032478052512838, 4.029996950083257, 4.027705387010911, 4.025588883778643, 4.0236340670052995, 4.021828584944816, 4.020161029440411, 4.018620863840856, 4.0171983564234175, 4.015884518902808, 4.014671049637627, 4.013550281175442, 4.012515131805063, 4.011559060809894, 4.010676027139624, 4.0098604512391205, 4.009107179793334, 4.008411453165454, 4.007768875322569, 4.007175386058797, 4.006627235340385, 4.006120959610669, 4.005653359905168, 4.005221481638539, 4.004822595935682, 4.004454182388997, 4.004113913132896, 4.003799638134895, 4.003509371610379, 4.003241279475177, 4.002993667756681, 4.002764971890276, 4.0025537468334464, 4.002358657935104, 4.002178472502429, 4.002012052011954, 4.001858344915668, 4.001716379996675, 4.001585260232451, 4.001464157126895, 4.001352305475375, 4.00124899852969, 4.0011535835324015, 4.001065457592299, 4.000984063874961, 4.000908888084334, 4.000839455213085, 4.000775326541212, 4.00071609686394, 4.0006613919313825, 4.000610866083802, 4.000564200067514, 4.000521099017647, 4.000481290595, 4.0004445232652355, 4.000410564709529, 4.000379200356638, 4.0003502320271, 4.000323476681019, 4.000298765261503, 4.000275941626455, 4.000254861561976, 4.000235391871127, 4.000217409532308, 4.000200800921935, 4.000185461096494, 4.000171293129441, 4.000158207498759, 4.000146121521309, 4.000134958830379, 4.000124648893154, 4.000115126565049, 4.000106331678081, 4.000098208660692, 4.000090706186612, 4.000083776850554, 4.000077376868665, 4.000071465801888, 4.000066006300431, 4.000060963867772, 4.0000563066426915, 4.000052005197948, 4.000048032354343, 4.000044363008983, 4.000040973976665, 4.000037843843378, 4.0000349528309975, 4.00003228267231, 4.000029816495594, 4.000027538718016, 4.000025434947161, 4.000023491890098, 4.0000216972693865, 4.000020039745498, 4.000018508845167, 4.000017094895215, 4.000015788961427, 4.000014582792104, 4.000013468765917, 4.000012439843758, 4.000011489524257, 4.000010611802707, 4.000009801133117, 4.000009052393172, 4.0000083608518695, 4.000007722139622, 4.000007132220648, 4.000006587367474, 4.000006084137378, 4.000005619350641, 4.000005190070451, 4.000004793584349, 4.000004427387091, 4.000004089164813, 4.000003776780418, 4.000003488260068, 4.0000032217807115, 4.000002975658566, 4.0000027483384795, 4.000002538384102, 4.000002344468812, 4.000002165367332, 4.000001999947987, 4.000001847165556, 4.000001706054664, 4.000001575723685, 4.000001455349107, 4.000001344170328, 4.000001241484853, 4.000001146643849, 4.000001059048054, 4.000000978143982, 4.000000903420431, 4.000000834405252, 4.000000770662362, 4.000000711788997, 4.000000657413156, 4.00000060719126, 4.000000560805975, 4.000000517964211, 4.0000004783952665, 4.00000044184912, 4.00000040809485, 4.000000376919178, 4.0000003481251145, 4.000000321530722, 4.0000002969679604, 4.000000274281627, 4.000000253328375, 4.000000233975809, 4.000000216101648, 4.000000199592951, 4.0000001843454065, 4.000000170262671, 4.00000015725576, 4.000000145242489, 4.00000013414695, 4.000000123899035, 4.000000114433991, 4.0000001056920125, 4.000000097617861, 4.00000009016052, 4.0000000832728695, 4.000000076911388, 4.000000071035881, 4.000000065609223, 4.000000060597124, 4.000000055967916, 4.000000051692347, 4.000000047743403, 4.000000044096131, 4.000000040727486, 4.000000037616183, 4.000000034742563, 4.000000032088467, 4.0000000296371265, 4.000000027373051, 4.0000000252819365, 4.000000023350569, 4.000000021566744, 4.000000019919192, 4.0000000183975, 4.000000016992057, 4.0000000156939794, 4.0000000144950665, 4.000000013387742, 4.0000000123650095, 4.000000011420407, 4.000000010547965, 4.000000009742172, 4.000000008997937, 4.000000008310556, 4.000000007675686, 4.000000007089316, 4.00000000654774, 4.000000006047538, 4.000000005585547, 4.000000005158849, 4.000000004764749, 4.000000004400754, 4.0000000040645665, 4.000000003754061, 4.000000003467276, 4.0000000032024, 4.0000000029577585, 4.000000002731806, 4.000000002523114, 4.000000002330365, 4.000000002152341, 4.000000001987917, 4.000000001836054, 4.000000001695792, 4.000000001566245, 4.000000001446595, 4.000000001336085, 4.000000001234017, 4.000000001139747, 4.000000001052678, 4.0000000009722605, 4.000000000897987, 4.000000000829386, 4.000000000766027, 4.000000000707508, 4.0000000006534595, 4.000000000603539, 4.000000000557433, 4.000000000514849, 4.000000000475517, 4.000000000439191, 4.00000000040564, 4.000000000374651, 4.000000000346031, 4.000000000319597, 4.000000000295182, 4.000000000272632, 4.000000000251805, 4.000000000232569, 4.000000000214802, 4.000000000198392, 4.0000000001832365, 4.000000000169239, 4.0000000001563105, 4.00000000014437, 4.0000000001333404, 4.000000000123154, 4.0000000001137455, 4.000000000105056, 4.000000000097031, 4.000000000089618, 4.000000000082772, 4.000000000076449, 4.000000000070608, 4.0000000000652145, 4.000000000060233, 4.000000000055631, 4.000000000051381, 4.000000000047456, 4.000000000043831, 4.000000000040482, 4.00000000003739, 4.000000000034533, 4.000000000031895, 4.000000000029459, 4.0000000000272085, 4.00000000002513, 4.00000000002321, 4.000000000021437, 4.000000000019799, 4.000000000018287, 4.00000000001689, 4.000000000015599, 4.000000000014407, 4.000000000013307, 4.000000000012291, 4.000000000011352, 4.000000000010485, 4.000000000009684, 4.000000000008944, 4.000000000008261, 4.0000000000076295, 4.000000000007047, 4.000000000006509, 4.000000000006011, 4.000000000005552, 4.000000000005128, 4.000000000004737, 4.000000000004375, 4.000000000004041, 4.000000000003732, 4.000000000003447, 4.000000000003183, 4.00000000000294, 4.000000000002715, 4.000000000002508, 4.000000000002316, 4.00000000000214, 4.000000000001976, 4.000000000001825, 4.000000000001686, 4.000000000001557, 4.000000000001438, 4.000000000001328, 4.000000000001227, 4.000000000001133, 4.000000000001046, 4.000000000000966, 4.000000000000893, 4.000000000000824, 4.000000000000761, 4.000000000000703, 4.000000000000649, 4.0000000000005995, 4.000000000000554, 4.000000000000512, 4.0000000000004725, 4.000000000000436, 4.000000000000403, 4.000000000000372, 4.000000000000344, 4.000000000000317, 4.000000000000293, 4.000000000000271, 4.0000000000002505, 4.000000000000231, 4.000000000000213, 4.000000000000197, 4.000000000000182, 4.000000000000168, 4.000000000000155, 4.000000000000144, 4.000000000000133, 4.000000000000123, 4.000000000000114, 4.000000000000105, 4.000000000000097, 4.00000000000009, 4.000000000000083, 4.000000000000076, 4.00000000000007, 4.000000000000065, 4.0000000000000595, 4.000000000000055, 4.000000000000051, 4.000000000000047, 4.0000000000000435, 4.00000000000004, 4.000000000000037, 4.000000000000035, 4.000000000000032, 4.000000000000029, 4.000000000000027, 4.000000000000025, 4.000000000000023, 4.000000000000021, 4.0000000000000195, 4.000000000000018, 4.000000000000017, 4.000000000000016, 4.000000000000015, 4.000000000000014, 4.000000000000013, 4.000000000000012, 4.0000000000000115, 4.000000000000011, 4.00000000000001, 4.000000000000009, 4.000000000000008, 4.000000000000007, 4.000000000000007, 4.000000000000006, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000000005, 4.000000000
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值