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实现列表转换成字典数据结构的方法
Mar 11 Python
bat和python批量重命名文件的实现代码
May 19 Python
Python Flask-web表单使用详解
Nov 18 Python
解决pycharm每次新建项目都要重新安装一些第三方库的问题
Jan 17 Python
Pytorch卷积层手动初始化权值的实例
Aug 17 Python
用python实现英文字母和相应序数转换的方法
Sep 18 Python
pycharm设置当前工作目录的操作(working directory)
Feb 14 Python
使用Python对Dicom文件进行读取与写入的实现
Apr 20 Python
有趣的Python图片制作之如何用QQ好友头像拼接出里昂
Apr 22 Python
django在开发中取消外键约束的实现
May 20 Python
Python自动化测试中yaml文件读取操作
Aug 20 Python
python库sklearn常用操作
Aug 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中大括号作用介绍
2012/03/22 PHP
php微信开发之关注事件
2018/06/14 PHP
Javascript写了一个清除“logo1_.exe”的杀毒工具(可扫描目录)
2007/02/09 Javascript
jquery imgareaselect 使用利用js与程序结合实现图片剪切
2009/07/30 Javascript
jQuery实现可收缩展开的级联菜单实例代码
2013/11/27 Javascript
js怎么覆盖原有方法实现重写
2014/09/04 Javascript
Jquery修改页面标题title其它JS失效的解决方法
2014/10/31 Javascript
nw.js实现类似微信的聊天软件
2015/03/16 Javascript
JavaScript实现俄罗斯方块游戏过程分析及源码分享
2015/03/23 Javascript
javascript从作用域链谈闭包
2020/07/29 Javascript
jQueryUI 拖放排序遇到滚动条时有可能无法执行排序的小bug及解决方案
2016/12/19 Javascript
EasyUI学习之Combobox下拉列表(1)
2016/12/29 Javascript
Web 开发中Ajax的Session 超时处理方法
2017/01/19 Javascript
js清除浏览器缓存的几种方法
2017/03/15 Javascript
BootStrap Table 后台数据绑定、特殊列处理、排序功能
2017/05/27 Javascript
JS实现json对象数组按对象属性排序操作示例
2018/05/18 Javascript
解决vue-cli脚手架打包后vendor文件过大的问题
2018/09/27 Javascript
利用原生JavaScript实现造日历轮子实例代码
2019/05/08 Javascript
Vue登录主页动态背景短视频制作
2019/09/21 Javascript
JS出现404错误原理及解决方案
2020/07/01 Javascript
python 视频逐帧保存为图片的完整实例
2019/12/10 Python
Python爬虫谷歌Chrome F12抓包过程原理解析
2020/06/04 Python
Python 中如何写注释
2020/08/28 Python
Visual Studio Code搭建django项目的方法步骤
2020/09/17 Python
详解Python之Scrapy爬虫教程NBA球员数据存放到Mysql数据库
2021/01/24 Python
德国最大的拼图在线商店:Puzzle.de
2016/12/17 全球购物
伦敦剧院及景点门票:Encore Tickets
2018/07/01 全球购物
护士辞职信范文
2014/01/19 职场文书
报社实习生自荐信
2014/01/24 职场文书
植树节活动总结
2014/04/30 职场文书
办理信用卡收入证明范例
2014/09/13 职场文书
聋哑人盗窃罪辩护词
2015/05/21 职场文书
红色故事汇观后感
2015/06/18 职场文书
治理商业贿赂工作总结
2015/08/10 职场文书
教师反邪教心得体会
2016/01/15 职场文书
MySQL 8.0 驱动与阿里druid版本兼容问题解决
2021/07/01 MySQL