import numpy as np
import scipy as sp
import matplotlib.pyplot as plt
stepsize = 0.01
'''
这里有个问题 就是特征值的排列方式可能跟下一个的顺序不一样,所以就会导致求导时候的错位。
这里需要在求导的时候,搞一下吧。
另外,矩阵的特征值,会不会突然变异?有跃迁?需要设置一个,检测的一些。
'''
def EigVect(Matrix):eigs,vectors = np.linalg.eig(Matrix)return eigs,vectorsdef test1ForContinueOfEig(eigss=[]):#这里的是两个或者多个特征值,我们假设前面已经将其复位好了plt.figure()eigss1 = np.array(eigss)for i in eigss1.shape[1]:plt.plot(eigss1[:,i])plt.title('tezhengzhi')plt.xlabel('x')plt.show()def EigDaoshu(Eig1=1,Eig2=2,stepsize=0.01):if abs((Eig1-Eig2)/Eig1)>5:#  print('特征值变化超过10倍,出现奇异的点了')raise Exception('特征值变化超过原来的10倍,出现奇异的点了')return (Eig1-Eig2)/stepsizedef VectDaoshu(Vect1=[2,2],Vect2=[1,1],stepsize=0.01):result = (Vect1-Vect2)/Vect1for item in result:if abs(item)>5:raise Exception('向量变化超过原来的十倍啦,应该是出现奇异的点了')return (Vect1-Vect2)/stepsizedef isnear(eigs):if abs(eigs[0]-eigs[1])<stepsize:raise Exception('两个特征值很相近,无法得出哪个特征值是哪个,换换矩阵吧')return True
'''
解决的情形是[0.4,0.6] [0.61,0.39] 这里第一位和第二位的就需要换一个位置
'''
def sorteigs(eig1,eig2,eig3,vect1,vect2,vect3):if abs(eig1[0]-eig2[0])<abs(eig1[0]-eig2[1]):passelse:print('需要换位2....')eig2[0],eig2[1] = eig2[1],eig2[0]vect2[0],vect2[1] = vect2[1],vect2[0]if abs(eig2[0]-eig3[0])<abs(eig2[0]-eig3[1]):passelse:print('需要换位3....')eig3[0],eig3[1] = eig3[1],eig3[0]vect3[0],vect3[1] = vect3[1],vect3[0]return eig1,eig2,eig3,vect1,vect2,vect3

函数说明

函数 函数名称 备注
EigVect 求特征值和特征向量
test1ForContinueOfEig 测试特征值是否连续 还没用到
EigDaoshu 特征值导数
VectDaoshu 特征向量导数
isnear 是否相邻 为下面函数所用
sorteigs 特征值从小到大排序 使得特征值变化连续

计算Fisher信息之基础矩阵(一)相关推荐

  1. 计算Fisher信息之Part(二)

    import BaseMatrixMethods as BM stepsize = 0.01 ''' 一,4.8 5.2 那么,后面的哪一个距离它比较近,是由它变化而成的呢?因此这里需要判断一下 二, ...

  2. python三维矩阵可视化_科学计算三维可视化---Mlab基础(基于Numpy数组的绘图函数)...

    Mlab了解 Mlab是Mayavi提供的面向脚本的api,他可以实现快速的三维可视化,Mayavi可以通过Mlab的绘图函数对Numpy数组建立可视化. 过程为: .建立数据源 .使用Filter( ...

  3. Hadoop基础操作--查询集群的计算资源信息

    Hadoop集群的计算资源,是由资源器(ResourceManager)进行管理.通过ResourceManager的监控服务,可以方便地查询目前集群上的计算资源信息. 在浏览器地址栏中输入" ...

  4. 计算机视觉三维重建的几何基础:坐标系与关键矩阵(基础矩阵、本质矩阵、单应矩阵)...

    作者丨李迎松@知乎 来源丨https://zhuanlan.zhihu.com/p/159194599 编辑丨3D视觉工坊 你站在桥上看风景, 看风景人在楼上看你. 明月装饰了你的窗子, 你装饰了别人 ...

  5. 2D - 2D 点对 求解基础矩阵 F 本质矩阵E 单应矩阵 H 进而求 旋转矩阵 R 和 t

    *对极几何 求解 两组单目相机 2D图像 间的 旋转平移 矩阵 * 2D 点对 求 两相机的 旋转和平移矩阵 * 空间点 P 两相机 像素点对 p1 p2 两相机 归一化平面上的点对 x1 x2 与P ...

  6. SLAM笔记(四)运动恢复结构的几何数学(本征矩阵、单应矩阵、基础矩阵)

    1. 间接法进行运动恢复的前提假设 对于结构与运动或视觉三维重建中,通常假设已经通过特征匹配等方法获取了匹配好的点对. 先求出匹配点对再获取结构和运动信息的方法称作间接法. 间接法最重要的三个假设是: ...

  7. ORB_SLAM2中基础矩阵F求解的原理及源码分析

    1. 基础矩阵的定义 如图所示是对极几何约束关系图,图中 O 1 , O 2 O_{1},O_{2} O1​,O2​分别表示相机的两个位姿,平面 I 1 , I 2 I_{1},I_{2} I1​,I ...

  8. 基础矩阵,本质矩阵,单应性矩阵讲解

    ORB-SLAM点云地图中相机的位姿初始化,无论算法工作在平面场景,还是非平面场景下,都能够完成初始化的工作.其中主要是使用了适用于平面场景的单应性矩阵H和适用于非平面场景的基础矩阵F,程序中通过一个 ...

  9. 计算机视觉中本质矩阵的概念,【计算机视觉】Lecture 19:本质矩阵和基础矩阵...

    对极几何 左边 极点:相机1所看到的相机2的位置. 右边 极点:相机2所看到的相机1的位置 对极几何 对应点位于共轭极线上 对极几何 给定一幅图像中的一个点,我们如何确定在第二幅图像中要搜索的对应极线 ...

最新文章

  1. 突然开掉CEO!通用电气时隔一年再换帅,金融和工业互联网都救不了GE?
  2. 从“抢跑”到领跑,滴滴旗下橙心成社区团购最“优选”
  3. DS博客作业01--日期抽象数据类型设计与实现
  4. python 数据库
  5. 【三分钟讲清区块链/比特币】之二:比特币入门教程
  6. JavaScript(七)—— BOM 浏览器对象模型
  7. 程序员面临 35 岁危机?网友:我 70 了,依然在写程序
  8. 改动Xmodem/Zmodem上传下载路径
  9. 选择JSF不选Struts的十大理由
  10. 智能车改舵机中值步骤_智能车制作全过程(飞思卡尔---舵机篇)
  11. 最新Apicloud+Vue开发App专题完整
  12. excel VBA自动设置表格格式
  13. 如何在AD中导入CAD画的DXF/DWG文件?
  14. 云原生到底是什么?一文了解云原生四要素!
  15. VBoxManager命令解析
  16. 莱布尼兹的二进制和布尔的全无假定   布尔逻辑之四
  17. Pair Project
  18. imx6q项目:使用psplash制作开机动画
  19. 工作流中实现一个节点多个节点的顺序审批
  20. MAC 版QQ如何多开

热门文章

  1. MT7603处理器性能,MT7603 wifi芯片介绍
  2. 【MMDetection 源码解读之yolov3】Neck - FPN
  3. [week15] C - ZJM与纸条(选做)—— KMP算法
  4. 记一次windows 10启动报错 An operat ing system wasn‘t found. Try disconnecting any drives that don‘t con问题
  5. 第一章 概率论基本概念(a)
  6. 真实的上海IT圈:张江男vs漕河泾男
  7. LeetCode 1218 最长定差子序列
  8. windows执行bat文件闪退情况解决
  9. 天然甜菊的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  10. 问题复盘:一个Redisson驱动源码BUG