找回密码
 注册
查看: 3903|回复: 0

一个求某个分割下的某列的盒形图的MATLAB程序

[复制链接]
发表于 2010-6-6 10:04:01 | 显示全部楼层 |阅读模式

在第四列的最大值和最小值之间,以0.1的间隔求在这个间隔中对应的第三列的值的盒形图,要求把所有范围中的盒形图画在一张图上,便于寻找规律
a=importdata('c:\data.txt'); %导入数据
[m,n]=size(a);       %求原始矩阵的行列数
split=0.1;     %分割值
splitcol=4 ;        %分割第几列
plotcol=3;          %待画图的列
maxx=max(a(:,4));  %最大值
minn=min(a(:,4));   %最小值
%求总分割数
if(maxx-minn)/split-floor((maxx-minn)/split)~=0                %floor取整函数
    p= floor((maxx-minn)/split)+1;
else
    p=(maxx-minn)/split;
end
bound=minn;         %下边界
col=0;              %待作图矩阵列
% 形成待作图矩阵,共13列,每列为第三列在第四列间隔区间0.05范围内的值
for i=1:1:p         %共p个分割
    col=col+1;
    bound=bound+(i-1)*split;         %%%边界每次移动split
    row=0;                          %   待作图矩阵行        
    for j=1:1:m
        if a(j,splitcol)>= bound &&a(j,splitcol)< bound+split
            row=row+1;
            matrix(row,col)=a(j,plotcol);
        end
        if row==0
            matrix(1,col)=0;
        end
    end
end
boxplot(matrix) %画图

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|小黑屋|生物统计家园 网站价格

GMT+8, 2024-11-22 00:11 , Processed in 0.024164 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表