ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

5.梯度寻优

2019-06-28 11:38:28  阅读:140  来源: 互联网

标签:xk matpts mat errorlist 梯度寻优 plt import


迭代法求方程组的解:

import numpy as np
from numpy import *
from common_libs import *
import matplotlib.pyplot as plt

#消元法求原方程组的解
A = mat([[8,-3,2],[4,11,-1],[6,3,12]])
b = mat([20,33,36])
result = linalg.solve(A,b.T)
print(result)

#迭代法求方程组的解
error = 1.0e-6
steps = 100
n=3
xk = zeros((n,1))
errorlist=[]
B0 = mat([[0,3/8,-1/4],[-4/11,0,1/11],[-1/2,-1/4,0]])
f = mat([5/2,3,3]).T
for k in range(steps):
    xk_1 = xk
    xk = B0*xk + f
    errorlist.append(linalg.norm(xk - xk_1))
    if errorlist[-1] < error:
        print(k+1)
        break

print(xk)

matpts = zeros((2,k+1))
matpts[0] = linspace(1,k+1,k+1)
matpts[1] = array(errorlist)
drawScatter(plt,matpts)
plt.show()

 

标签:xk,matpts,mat,errorlist,梯度寻优,plt,import
来源: https://www.cnblogs.com/xiaochi/p/11101722.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有