Python最小二乘法矩阵


Posted in Python onJanuary 02, 2019

最小二乘法矩阵

#! /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 字典与字符串的互转实例
Jan 13 Python
Python解惑之True和False详解
Apr 24 Python
Python 模拟员工信息数据库操作的实例
Oct 23 Python
Python标准库笔记struct模块的使用
Feb 22 Python
Pandas之drop_duplicates:去除重复项方法
Apr 18 Python
Python3.7 dataclass使用指南小结
Feb 22 Python
python递归法实现简易连连看小游戏
Mar 25 Python
使用python将最新的测试报告以附件的形式发到指定邮箱
Sep 20 Python
借助Paramiko通过Python实现linux远程登陆及sftp的操作
Mar 16 Python
python中如何打包用户自定义模块
Sep 23 Python
python实战之用emoji表情生成文字
May 08 Python
python opencv将多个图放在一个窗口的实例详解
Feb 28 Python
Centos部署django服务nginx+uwsgi的方法
Jan 02 #Python
Python 一句话生成字母表的方法
Jan 02 #Python
使用python将请求的requests headers参数格式化方法
Jan 02 #Python
浅谈python requests 的put, post 请求参数的问题
Jan 02 #Python
Python中出现IndentationError:unindent does not match any outer indentation level错误的解决方法
Apr 18 #Python
Python装饰器语法糖
Jan 02 #Python
Python WEB应用部署的实现方法
Jan 02 #Python
You might like
PHP实现单条sql执行多个数据的insert语句方法
2019/10/11 PHP
Aster vs KG BO3 第二场2.18
2021/03/10 DOTA
IE FF OPERA都可用的弹出层实现代码
2009/09/29 Javascript
JavaScript继承方式实例
2010/10/29 Javascript
为JS扩展Array.prototype.indexOf引发的问题探讨及解决
2013/04/24 Javascript
JavaScript获得表单target属性的方法
2015/04/02 Javascript
Javascript中With语句用法实例
2015/05/14 Javascript
javascript实现类似百度分享功能的方法
2015/07/27 Javascript
省市二级联动小案例讲解
2016/07/24 Javascript
15款最好的Bootstrap在线编辑器
2016/08/03 Javascript
Bootstrap Table使用方法解析
2016/10/19 Javascript
Jquery+Ajax+xml实现中国地区选择三级联动菜单效果(推荐)
2017/06/09 jQuery
解决bootstrap下拉菜单点击立即隐藏bug的方法
2017/06/13 Javascript
详解vue数据渲染出现闪烁问题
2017/06/29 Javascript
ReactNative实现Toast的示例
2017/12/31 Javascript
深入浅出理解JavaScript闭包的功能与用法
2018/08/01 Javascript
elementUI 设置input的只读或禁用的方法
2018/10/30 Javascript
JS实现拼图游戏
2021/01/29 Javascript
微信小程序转化为uni-app项目的方法示例
2020/05/22 Javascript
Python自动化测试Eclipse+Pydev 搭建开发环境
2016/08/15 Python
python 随机数使用方法,推导以及字符串,双色球小程序实例
2017/09/12 Python
Python实现嵌套列表去重方法示例
2017/12/28 Python
解决python opencv无法显示图片的问题
2018/10/28 Python
python程序运行进程、使用时间、剩余时间显示功能的实现代码
2019/07/11 Python
在pycharm中为项目导入anacodna环境的操作方法
2020/02/12 Python
Python selenium自动化测试模型图解
2020/04/15 Python
Django实现简单的分页功能
2021/02/22 Python
html5简介_动力节点Java学院整理
2017/07/07 HTML / CSS
管事部库房保管员岗位职责
2014/02/21 职场文书
护理专业求职信
2014/06/15 职场文书
2014年政风行风评议工作总结
2014/10/21 职场文书
2015年超市工作总结范文
2015/05/26 职场文书
二十年同学聚会致辞
2015/07/28 职场文书
欢送领导祝酒词
2015/08/12 职场文书
股东出资协议书
2016/03/21 职场文书
mysql sock 文件解析及作用讲解
2022/07/15 MySQL