很简单的matlab进行方差分析

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了很简单的matlab进行方差分析相关的知识,希望对你有一定的参考价值。

Score=[75 62 71 58 73;81 85 68 92 90;73 79 60 75 81]';
p=anoval(Score)
报出??? Undefined function or method 'anoval' for input arguments of type 'double'.的错误。
我用的matlab是2008a版的。
哪位大虾帮帮忙

参考技术A 拼写错误anova1

Score=[75 62 71 58 73;81 85 68 92 90;73 79 60 75 81]';
P=anova1(Score)本回答被提问者采纳
参考技术B 方差的函数是var()

matlab图像的统计特性(均值标准差方差相关系数等高线)

1. 引言

我们在概率论和统计学中,经常对一组数据进行分析,通过对数组的均值、方差、标准差等统计特性来分析得到想要的统计信息。我们都知道数字图像是通过矩阵表现的,在matlab中,灰度图像是一个二维矩阵,RGB的彩色图像是一个三维矩阵,同样可以通过统计特性得到一幅图像的统计信息,来帮助我们对图像进行判断。

2. 统计特性及代码

2.1 均值

均值顾名思义就是求平均值,对于灰度图像就是计算图像的灰度平均值,对于彩色图像既可以计算所有颜色值的平均值也可以计算每种颜色的平均值。
调用函数:mean2()
下面对这组彩色图和灰度图求均值:

I=imread('onion.png'); 
J=rgb2gray(I);
RGB=mean2(I)         %RGB图像的均值
GRAY=mean2(J)        %灰度图像的均值
R=mean2(I(:,:,1))    %红色的均值
G=mean2(I(:,:,2))    %蓝色的均值
B=mean2(I(:,:,3))    %绿色的均值
figure;
subplot(121);imshow(I);
subplot(122);imshow(J);

得到的均值如下:

从得到的均值数据看,R G B三个颜色的均值再求均值即为RGB彩色图像的均值,红色和绿色的均值较大,蓝色均值较小,说明原图中红色和绿色的成分较多,蓝色成分较少

2.2 标准差

标准差反映了图像像素值与均值的离散程度
调用函数:std2()
下面对一组原图和直方图均衡化后的图像求标准差:

I=imread('sweden.jpg'); 
I=rgb2gray(I);
s1=std2(I)
J=histeq(I);
s2=std2(J)
figure;
subplot(121);imshow(I),title('原图');
subplot(122);imshow(J),title('直方图均衡化后的图像');

得到的标准差如下:

可以看出,通过直方图均衡化后的图像,明暗对比度增加,标准差变大。

2.3 方差

方差为标准差的平方
可以用以下三种方法计算图像矩阵的方差:
①利用函数var求:a1=var(I(: ))
②利用标准差的平方求:a3=(std2(I))^2
下面分别用两种方法求lena图的方差:

I=imread('lena.png');
I=rgb2gray(I);
I=im2double(I);
std=std2(I);
r1=var(I(:))
r2=std^2

得到的方差结果如下:

2.4 相关系数

两个大小相同的二维矩阵,可以通过计算相关系数判断相似度。
调用函数:corr2()
下面计算三张图之间的相关系数:

I=rgb2gray(imread('lena.png'));
J=medfilt2(I);                    
K=rgb2gray(imread('Baboon.jpg')); 
figure;
subplot(131);imshow(I);title('lena图');
subplot(132);imshow(J);title('lena图中值滤波');
subplot(133);imshow(K);title('Baboon图');
r1=corr2(I,J)
r2=corr2(I,K)

得到的相关系数如下:

可以看出lena图与中值滤波后的lena图之间的相关系数为0.9959,说明相关度很高,而lena图与baboon图之间的相关系数为-0.0431,说明两张图无关。

2.5 等高线

调用函数:imcontour()

I=imread('toysflash.png');
I=rgb2gray(I);
figure;
subplot(121);imshow(I);
subplot(122);imcontour(I);


左图为原图,右图为等高线图

后面想到会随时补充

以上是关于很简单的matlab进行方差分析的主要内容,如果未能解决你的问题,请参考以下文章

请教用MATLAB如何做协方差模型分析

方差分析的MATLAB实现(单因子)

MATLAB 怎么计算协方差

怎么用Matlab计算两幅图像的协方差

方差分析法

数字信号分析基于matlab小波变换气象数据分析(小波系数小波方差小波模小波模平方)含Matlab源码 2409期