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中变量的拷贝和作用域问题
May 05 Python
Python爬虫:通过关键字爬取百度图片
Feb 17 Python
Python实现求解括号匹配问题的方法
Apr 17 Python
一文了解Python并发编程的工程实现方法
May 31 Python
python的移位操作实现详解
Aug 21 Python
python实现矩阵和array数组之间的转换
Nov 29 Python
Python实现中值滤波去噪方式
Dec 18 Python
pycharm2020.1.2永久破解激活教程,实测有效
Oct 29 Python
详解分布式系统中如何用python实现Paxos
May 18 Python
python办公自动化之excel的操作
May 23 Python
Python pygame实现中国象棋单机版源码
Jun 20 Python
Python基础之变量的相关知识总结
Jun 23 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调用Oracle存储过程的方法
2008/09/12 PHP
php 团购折扣计算公式
2011/11/24 PHP
PHP实现事件机制的方法
2015/07/10 PHP
php根据用户语言跳转相应网页
2015/11/04 PHP
PHP实现的分页类定义与用法示例
2017/07/05 PHP
laravel5使用freetds连接sql server的方法
2018/12/07 PHP
面向对象的编程思想在javascript中的运用上部
2009/11/20 Javascript
用方法封装javascript的new操作符(一)
2010/12/25 Javascript
js进行表单验证实例分析
2015/02/10 Javascript
Jquery easyui 实现动态树
2015/11/17 Javascript
多功能jQuery树插件zTree实现权限列表简单实例
2016/07/12 Javascript
vue2.0构建单页应用最佳实战
2017/04/01 Javascript
基于vue.js路由参数的实例讲解——简单易懂
2017/09/07 Javascript
微信小程序实现自定义加载图标功能
2018/07/19 Javascript
详解vue中使用vue-quill-editor富文本小结(图片上传)
2019/04/24 Javascript
基于elementUI竖向表格、和并列的案例
2020/10/26 Javascript
vue使用transition组件动画效果的实例代码
2021/01/28 Vue.js
[06:24]DOTA2亚洲邀请赛小组赛第三日 TOP10精彩集锦
2015/02/01 DOTA
[46:50]Liquid vs Mineski 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
跟老齐学Python之集成开发环境(IDE)
2014/09/12 Python
Python内建数据结构详解
2016/02/03 Python
使用python实现个性化词云的方法
2017/06/16 Python
详谈Pandas中iloc和loc以及ix的区别
2018/06/08 Python
Python实现的建造者模式示例
2018/08/06 Python
python pytest进阶之fixture详解
2019/06/27 Python
Python requests获取网页常用方法解析
2020/02/20 Python
Python切割图片成九宫格的示例代码
2020/03/10 Python
TensorFlow的reshape操作 tf.reshape的实现
2020/04/19 Python
谈谈python垃圾回收机制
2020/09/27 Python
浅谈Selenium+Webdriver 常用的元素定位方式
2021/01/13 Python
Canvas引入跨域的图片导致toDataURL()报错的问题的解决
2018/09/19 HTML / CSS
市场开发与营销专业求职信
2013/12/31 职场文书
迎国庆演讲稿
2014/09/15 职场文书
2015年禁毒宣传活动总结
2015/03/25 职场文书
2016年秋季运动会通讯稿
2015/11/25 职场文书
iPhone13再次曝光
2021/04/15 数码科技