Matlab var std cov 函数解析

在Matlab中使用var求样本方差,使用std求标准差!

首先来了解一下方差公式:

 p = [-0.92 0.73 -0.47 0.74 0.29; -0.08 0.86 -0.67 -0.52 0.93]

p =

-0.9200    0.7300   -0.4700    0.7400    0.2900

-0.0800    0.8600   -0.6700   -0.5200    0.9300

 var(p(1,:))

ans =

0.5511

 var(p(1,:),0)

ans =

0.5511

sum((p(1,:)-mean(p(1,:))).^2)/(length(p(1,:))-1)

ans =

0.5511

上面三个结果相等,注意这里求的是样本方差,分母为n-1(样本数-1)。这是因为var函数实际上求的并不是方差,而是误差理论中“有限次测量数据的标准偏差的估计值。

var(p(1,:),1)

ans =

0.4409

sum((p(1,:)-mean(p(1,:))).^2)/(length(p(1,:)))

ans =

0.4409

上面两个结果求的才是母体方差,分母为n(样本数)

var没有求矩阵的方差功能,可使用std先求均方差,再平方得到方差。

std,均方差,std(p,0,1)求列向量方差,std(p,0,2)求行向量方差。

std(p(1,:))

ans =

0.7424

sqrt(var(p(1,:)))

ans =

0.7424

std(p,0,2)

ans =

0.7424   % std(p(1,:))

0.7543   % std(p(2,:))

std(p,0,1)

ans =

0.5940    0.0919    0.1414    0.8910    0.4525

若要求整个矩阵所有元素的均方差,则要使用std2函数:

std2(p)

ans =

0.7058

协方差矩阵

A=[61.45,55.9,61.95,59,58.14,53.61,55.48,54.21,61.52,54.92];

B=[40.36,39.8,49.2,48,51.5,49.39,51.13,58.06,61,62.35];

C=[8.61,8.91,10.43,13.32,13.48,15.75,18.14,19.95,21.95,23.53];

D=[14.31,14.72,15.28,15.91,14.67,15,15.86,15.16,13.72,12.94];

E=[7.67,7.75,8.15,9.24,10.68,10.58,10.31,10,8.91,8.51];

>> q=[A‘,B‘,C‘,D‘,E‘];

>> w=cov(q)

w =

10.3710   -4.7446   -6.6023   -0.1873   -1.8881

-4.7446   59.1503   38.7606   -3.0743    3.0982

-6.6023   38.7606   28.6966   -2.0199    2.4166

-0.1873   -3.0743   -2.0199    0.8474    0.3936

-1.8881    3.0982    2.4166    0.3936    1.3412

				
时间: 2024-11-07 21:25:18

Matlab var std cov 函数解析的相关文章

[Matlab]协方差矩阵计算使用cov函数的结果与自编程序结果存在不一致

目前还弄不清是什么原因,有多大影响,只知道存在这个问题. 运行版本: 1.MatlabR2015b windows64Bit 2.https://octave-online.net/ 3.http://www.compileonline.com/execute_matlab_online.php 代码: %自编协方差矩阵计算法结果一致,但与matlab自带的cov函数不一致 % Rxx.m close all; clear; clc; rng('default'); rng(0); A = ra

Matlab中bsxfun和unique函数解析

一.问题来源 来自于一份LSH代码,记录下来. 二.函数解析 2.1 bsxfun bsxfun是一个matlab自版本R2007a来就提供的一个函数,作用是”applies an element-by-element binary operation to arrays a and b, with singleton expansion enabled. 函数用在两个数组间元素逐个计算.比如当我们想对一个矩阵A的每一列或者每一行与同一个长度相等的向量a进行某些操作(比较大小,乘除等)时,我们只

MATLAB中的常用函数

MATLAB中的常用函数 1. 特殊变量与常数 主题词 意义 主题词 意义 ans 计算结果的变量名 computer 确定运行的计算机 eps 浮点相对精度 Inf 无穷大 I 虚数单位 inputname 输入参数名 NaN 非数 nargin 输入参数个数 nargout 输出参数的数目 pi 圆周率 nargoutchk 有效的输出参数数目 realmax 最大正浮点数 realmin 最小正浮点数 varargin   实际输入的参量 varargout 实际返回的参量     2.

AngularJS指令中的compile与link函数解析

AngularJS指令中的compile与link函数解析 通常大家在使用ng中的指令的时候,用的链接函数最多的是link属性,下面这篇文章将告诉大家complie,pre-link,post-link的用法与区别. 原文地址 angularjs里的指令非常神奇,允许你创建非常语义化以及高度重用的组件,可以理解为web components的先驱者. 网上已经有很多介绍怎么使用指令的文章以及相关书籍,相互比较的话,很少有介绍compile与link的区别,更别说pre-link与post-lin

C++虚函数解析(转载)

虚函数详解第一篇:对象内存模型浅析 C++中的虚函数的内部实现机制到底是怎样的呢? 鉴于涉及到的内容有点多,我将分三篇文章来介绍. 第一篇:对象内存模型浅析,这里我将对对象的内存模型进行简单的实验和总结. 第二篇:继承对象的构造和析构浅析,这里我将对存在继承关系的对象的构造和析构进行简单的实验和总结. 第三篇:虚函数的内部机制浅析,这里我将对虚函数内部的实现机制进行实验总结. 我使用的编译器是VS2008,有不足或者不准确的地方,欢迎大家拍砖(我个人非常迫切的希望得到大家的指正),我会及时修正相

eval函数解析json表达式

Eval函数解析 *********************** ps:JSON(JavaScript Object Notation,JavaScript对象表示法)是一个轻量级的数据格式,可以简化表示复杂数据结构的工作量. json只支持三种的数据类型: 简单值,数组,字符串,布尔,或者null,但不支持undifine 基本的格式: 对象:键值 "name":"Yumay",|| "age": 18, ||"sex":&

ngx_http_process_request_headers函数解析

ngx_http_process_request_headers函数被ngx_http_process_request_line函数调用,将请求头逐个放到r->headers_in.headers结构体中.由于不确定请求中一共有多少个header,所以这个函数主要功能也是在for(;;){}循环中完成,一下所有的代码都是在上述循环内部的.主要代码和解析如下: 判断是否超时,如果超时,报错并结束请求.    if (rev->timedout) {        ngx_log_error(NG

iOS 基础函数解析 - Foundation Functions Reference

Foundation Functions Reference Framework Foundation/Foundation.h Declared in NSBundle.h NSByteOrder.h NSDecimal.h NSException.h NSObjCRuntime.h NSObject.h NSPathUtilities.h NSRange.h NSZone.h Overview This chapter describes the functions and function

thread.join函数,java多线程中的join函数解析

join函数的作用,是让当前线程等待,直到调用join()的 线程结束或者等到一段时间,我们来看以下代码 1 package mian; 2 3 4 public class simpleplela { 5 static void threadMessage(String message) { 6 String threadName = 7 Thread.currentThread().getName(); 8 9 System.out.println(threadName+" "+m