扣丁学堂Python培训简述如何制作Python最小二乘法矩阵

发布时间:2019-08-05 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了扣丁学堂Python培训简述如何制作Python最小二乘法矩阵脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

本篇文章扣丁学堂Python培训小编给读者们分享一篇Python技文章,那就是如何制作Python最小二乘法矩阵,对Python开发技术感兴趣的小伙伴可以随小编来了解一下。

下面我们来看一下代码:

@H_777_5@! /usr/bin/env python

-- coding: utf-8 --

import numpy as np

def calc_left_k_mat(k):

"""

获得左侧k矩阵

:param k:

:return:

"""

k_mat = []

for i in range(k + 1):

now_line = []

for j in range(k + 1):

  now_line.apPEnd(j + i)

k_mat.append(now_line)

return k_mat

def calc_right_k_mat(k):

"""

计算右侧矩阵

:param k:

:return:

"""

k_mat = []

for i in range(k + 1):

k_mat.append([i, i + 1])

return k_mat

def pow_k(x, k):

"""

计算x列表中的k次方和

:param x: 点集合的x坐标

:param k: k值

:return:

"""

sum = 0

for i in x:

sum += i ** k

return sum

def get_left_mat_wITh_x(k_mat, k):

"""

将 左侧k矩阵运算得到左侧新的矩阵

:param k_mat:

:param k:

:return:

"""

left_mat = []

for kl in k_mat:

now_data = []

for k in kl:

  now_data.append(pow_k(x, k))

left_mat.append(now_data)

return left_mat

def get_right_mat_with(right_k_mat):

"""

将 右侧k矩阵运算得到右侧新的矩阵

:param right_k_mat:

:return:

"""

right_mat = []

for i in range(len(right_k_mat)):

sum = 0

for xL, yL in zip(x, y):

  a = (xL ** right_k_mat[i][0]) * (yL ** right_k_mat[i][1])

  sum += a

right_mat.append(sum)

return right_mat

def fuse_mat(left, right):

"""

融合两个矩阵

:param left:

:param right:

:return:

"""

new_mat = []

for i in range(len(left)):

asd = np.append(left[i], right[i])

new_mat.append(list(asd))

return new_mat

if name == '__main__':

k = 3

x = [1, 2, 3]

y = [1, 2, 3]

# 计算原始左侧K矩阵

left_k_mat = calc_left_k_mat(k)

PRint("原始左侧K矩阵")

print(left_k_mat)

# 计算原始右侧K矩阵

right_k_mat = calc_right_k_mat(k)

print("原始右侧k矩阵")

print(right_k_mat)

# 计算左侧 k 矩阵

new_left_mat = get_left_mat_with_x(k_mat=left_k_mat, k=k)

# 计算右侧 k 矩阵

new_right_mat = get_right_mat_with(right_k_mat=right_k_mat)

print("计算后左侧K矩阵")

print(new_left_mat)

print("计算后右侧侧K矩阵")

print(new_right_mat)

print("-----" * 10)

# 融合两个矩阵 左侧 矩阵每一行增加 右侧矩阵的对应行

new_all = fuse_mat(new_left_mat, new_right_mat)

print("完整矩阵")

print(new_all)

以上就是扣丁学堂Python在线学习小编给大家分享的Python最小二乘法矩阵,希望对小伙伴们有所帮助,想要了解更多内容的小伙伴可以登录扣丁学堂官网咨询。

想要学好Python开发小编给大家推荐口碑良好的扣丁学堂,扣丁学堂有专业老师制定的Python学习路线图辅助学员学习,此外还有与时俱进的Python课程体系供大家学习,想要学好Python开发技术的小伙伴快快行动吧。

脚本宝典总结

以上是脚本宝典为你收集整理的扣丁学堂Python培训简述如何制作Python最小二乘法矩阵全部内容,希望文章能够帮你解决扣丁学堂Python培训简述如何制作Python最小二乘法矩阵所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。