numpy和matlab计算协方差矩阵的不同(matlab是标准的,numpy相当于转置后计算)
matlab是标准的,numpy相当于转置后计算
>> x = [2,0,-1.4;2.2,0.2,-1.5;2.4,0.1,-1;1.9,0,-1.2]
x =
2.0000 0 -1.4000
2.2000 0.2000 -1.5000
2.4000 0.1000 -1.0000
1.9000 0 -1.2000
>> cov(x)
ans =
0.0492 0.0142 0.0192
0.0142 0.0092 -0.0058
0.0192 -0.0058 0.0492
>> xt=x'
xt =
2.0000 2.2000 2.4000 1.9000
0 0.2000 0.1000 0
-1.4000 -1.5000 -1.0000 -1.2000
>> cov(xt)
ans =
2.9200 3.1600 2.9500 2.6700
3.1600 3.4300 3.1750 2.8850
2.9500 3.1750 3.0100 2.7050
2.6700 2.8850 2.7050 2.4433
np.array(x).T
array([[ 2. , 2.2, 2.4, 1.9],
[ 0. , 0.2, 0.1, 0. ],
[-1.4, -1.5, -1. , -1.2]])
>>> print(np.cov(np.array(x).T))
[[ 0.04916667 0.01416667 0.01916667]
[ 0.01416667 0.00916667 -0.00583333]
[ 0.01916667 -0.00583333 0.04916667]]
np.array(x)
array([[ 2. , 0. , -1.4],
[ 2.2, 0.2, -1.5],
[ 2.4, 0.1, -1. ],
[ 1.9, 0. , -1.2]])
>>> print(np.cov(np.array(x)))
[[ 2.92 3.16 2.95 2.67 ]
[ 3.16 3.43 3.175 2.885 ]
[ 2.95 3.175 3.01 2.705 ]
[ 2.67 2.885 2.705 2.44333333]]
numpy和matlab计算协方差矩阵的不同(matlab是标准的,numpy相当于转置后计算)的更多相关文章
- 动态可视化 数据可视化之魅D3,Processing,pandas数据分析,科学计算包Numpy,可视化包Matplotlib,Matlab语言可视化的工作,Matlab没有指针和引用是个大问题
动态可视化 数据可视化之魅D3,Processing,pandas数据分析,科学计算包Numpy,可视化包Matplotlib,Matlab语言可视化的工作,Matlab没有指针和引用是个大问题 D3 ...
- [zz]计算 协方差矩阵
http://www.cnblogs.com/chaosimple/p/3182157.html http://blog.csdn.net/goodshot/article/details/86111 ...
- opencv2学习:计算协方差矩阵
图像的高级处理中,协方差矩阵计算是必不可少的,但opencv关于这方面的资料却相当少. 首先,利用matlab计算一下,便于比较: >> data=[1,2,3;10,20,30] dat ...
- Python的扩展接口[3] -> Matlab引擎 -> 使用 Python 调用 Matlab 程序
Python - Matlab 目录 Python-Matlab 引擎 Python-Matlab 数组 Python-Matlab 基本操作 Python-Matlab 调用 m 文件 Matlab ...
- 数字图像处理的Matlab实现(2)—MATLAB基础
第2章 MATLAB编程基础 2.1 M-文件 MATLAB中的M-文件可以是简单执行一系列MATLAB语句的源文件,也可以是接收自变量并产生一个或多个输出的函数. M-文件由文本编辑器创建,并以fi ...
- $ 一步一步学Matlab(1)——初识Matlab
本文分四步走策略:第一,Matlab是个什么玩意:第二,为什么要学Matlab:第三,怎样轻松.无痛.少走弯路地学习Matlab:第四,怎样写一个Matlab的Hello World.通过这四步走,达 ...
- matlab和c++混合编程---matlab和vs的环境配置问题及方法和步骤(转载)
matlab和c++混合编程---方法和步骤 matlab和c++混合编程---matlab和vs的环境配置问题 摘要:Matlab具有很强的数值计算和分析等能力,而C/C++是目前最为流行的高级程序 ...
- matlab提速技巧(自matlab帮助文件)
matlab提速技巧(自matlab帮助文件) 1.首先要学会用profiler.1.1. 打开profiler.To open the Profiler, select View -> Pro ...
- matlab与vs混合编程/matlab移植
前言 项目算法中包含了不同编译工具的代码,分别是matlab和VS,需要将二者结合起来,统一在同一个系统工作,此时就要用到matlab和vs混合编程. 在matlab中将.m文件编译生成库文件等供外部 ...
随机推荐
- Spark0.9.0机器学习包MLlib-Optimization代码阅读
基于Spark的一个生态产品--MLlib,实现了经典的机器学算法,源码分8个文件夹,classification文件夹下面包含NB.LR.SVM的实现,clustering文件夹下面包 ...
- myBatis中使用Map进行遍历
myBatis中使用Map获取key, value的方式 第一次的配置 <trim prefix=" tags =case" suffix="end"&g ...
- UVALive - 6257 K - Chemist's vows 【DFS】【BFS】【DP】
题目链接 https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_ ...
- 从性能角度分析一下String,List,Map
使用String.subString()方法的时候注意内存溢出的问题 public static void testH() { List<String> strings = new Arr ...
- 326 集合 ,数据类型的补充 ,copy , 编码之间的转换
一.数据类型补充1,对于元组:如果只有一个元素,并且没有逗号,此元素是什么数据类型,改表达式就是什么数据类型. tu = () tu1 = (,) print(tu,type(tu)) #1 < ...
- Python问题解决记录
Python如何进行中文注释:网址 解决Python UnicodeEncodeError: 'ascii' codec can't encode: 网址1.网址2.网址3 Python 字符串转换为 ...
- chattr与lsattr命令详解
PS:有时候你发现用root权限都不能修改某个文件,大部分原因是曾经用chattr命令锁定该文件了.chattr命令的作用很大,其中一些功能是由Linux内核版本来支持的,不过现在生产绝大部分跑的li ...
- 使用MapReduce将HDFS数据导入Mysql
使用MapReduce将Mysql数据导入HDFS代码链接 将HDFS数据导入Mysql,代码示例 package com.zhen.mysqlToHDFS; import java.io.DataI ...
- define的用法与注意事项
------------------------------------------------- 在编程使用宏替换时,当字符串中不只一个符号时,加上括号表现出优先级, 如果是带参数的宏定义,则要给宏 ...
- Selenium-几种元素定位方式
#识别元素并操作#一般有如下几种方法,其中id最为常用.这里需要注意识别元素一定要用唯一id 1.find_element_by_id("value") #! /usr/bin/e ...