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 相关文章推荐
Pyramid Mako模板引入helper对象的步骤方法
Nov 27 Python
python实现ping的方法
Jul 06 Python
Python导出DBF文件到Excel的方法
Jul 25 Python
Python之Scrapy爬虫框架安装及简单使用详解
Dec 22 Python
python获取当前目录路径和上级路径的实例
Apr 26 Python
Python Learning 列表的更多操作及示例代码
Aug 22 Python
python 处理数字,把大于上限的数字置零实现方法
Jan 28 Python
Django连接数据库并实现读写分离过程解析
Nov 13 Python
Python安装tar.gz格式文件方法详解
Jan 19 Python
利用Python裁切tiff图像且读取tiff,shp文件的实例
Mar 10 Python
Django如何实现防止XSS攻击
Oct 13 Python
关于python pygame游戏进行声音添加的技巧
Oct 24 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
Syphon 秘笈
2021/03/03 冲泡冲煮
php正则
2006/07/07 PHP
PHP中的加密功能
2006/10/09 PHP
跟我学Laravel之快速入门
2014/10/15 PHP
php实现通过stomp协议连接ActiveMQ操作示例
2020/02/23 PHP
PHP7 新增常量
2021/03/09 PHP
用Div仿showModalDialog模式菜单的效果的代码
2007/03/05 Javascript
js trim函数 去空格函数与正则集锦
2009/11/20 Javascript
jquery CSS选择器笔记
2010/03/29 Javascript
js中将HTMLCollection/NodeList/伪数组转换成数组的代码
2011/07/31 Javascript
Node.js实现批量去除BOM文件头
2014/12/20 Javascript
javascript鼠标右键菜单自定义效果
2020/12/08 Javascript
浅谈Web页面向后台提交数据的方式和选择
2016/09/23 Javascript
利用python分析access日志的方法
2016/10/26 Javascript
JS利用prototype给类添加方法操作详解
2019/06/21 Javascript
微信小程序停止其他视频播放当前视频的实例代码
2019/12/25 Javascript
[01:45]典藏宝瓶2+祈求者身心——这就是DOTA2TI9总奖金突破3000万美元的秘密
2019/07/21 DOTA
使用Python3中的gettext模块翻译Python源码以支持多语言
2015/03/31 Python
Python实现对excel文件列表值进行统计的方法
2015/07/25 Python
Python有序字典简单实现方法示例
2017/09/28 Python
儿童学习python的一些小技巧
2018/05/27 Python
学习python的前途 python挣钱
2019/02/27 Python
python防止随意修改类属性的实现方法
2019/08/21 Python
Python os模块常用方法和属性总结
2020/02/20 Python
Tkinter中复选菜单是否被选中的判断与设置方式
2020/03/04 Python
Python如何定义有可选参数的元类
2020/07/31 Python
Right-on官方网站:日本知名的休闲服装品牌
2019/07/12 全球购物
大学生求职中的自我评价
2013/10/01 职场文书
护士的岗位职责
2013/12/04 职场文书
大众服装店创业计划书范文
2014/01/01 职场文书
业务员自荐信范文
2014/04/20 职场文书
2014年组织部工作总结
2014/11/14 职场文书
大连星海广场导游词
2015/02/10 职场文书
员工手册编写范本
2015/05/14 职场文书
开学随笔
2015/08/15 职场文书
MySQL和Oracle批量插入SQL的通用写法示例
2021/11/17 MySQL