加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

matlaB中矩阵元素求和(转载其他人的,收藏着)

(2013-01-16 18:13:36)
标签:

杂谈

matlab中矩阵元素求和、求期望和均方差

      在matlab中求一个矩阵中元素的和可以自己编写for循环来完成,这样比较方便,想求那些数据的和都可以做到,然而效率比较低,如果数据量大程序会跑好长时间。所以我们可以转而用matlab提供的sum函数。

     设M为一个矩阵,那么:

     1、求和

     sum(M):以矩阵M的每一列为对象,对每一列的数据分别求和。

     sum(M,2):以矩阵的每一行为对象,对每一行的数据分别求和。

     sum(M(:)):将矩阵中的所有元素相加求和。

     2、求期望

      matlab中矩阵元素求期望的函数mean与sum用法雷同。

      mean(M):以矩阵M的每一列为对象,对每一列的数据分别求期望。

      mean(M,2):以矩阵的每一行为对象,对每一行的数据分别求期望。

      mean(M(:)):以矩阵所有数据为对象求期望。

     3、求均方差

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

      注:Matlab中有求数组方差的 函数:var;要注意的是var函数所采用公式中,分母不是length(X) ,而是length(X)-1 。这是因为var函数实际上求的并不是方差,而是误差理论中“有限次测量数据的标准偏差的估计值”。var没有求矩阵的方差功能,可使用std先求均方差,再平方得到方差。std,均方差,std(X,0,1)求列向量方差,std(X,0,2)求行向量方差。

eg:

>>X=[1,2,3,4]

>>var(X)=1.6667

>> sum((X(1,:)-mean(X)).^2)/length(X)=1.2500

>> sum((X(1,:)-mean(X)).^2)/(length(X)-1)=1.6667

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有