全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 MATLAB等数学软件专版
5155 2
2013-10-06
悬赏 20 个论坛币 已解决
matlab小白求助~,对一维的向量有 histc(x,edges) 函数可以用,比如函数的例子:对标准正态分布分段计数:
复制代码
如果对一个二维的向量,如 y1 = randn(1000,2); 划分的区间为x1 = -2.9:0.1:2.9; x2 = -2.9:0.1:2.9; 如何统计 y1 落在由x1,x2划分的区间块中的数量?


最佳答案

danielruc91 查看完整内容

我倒不知道有没有相关的函数,不过可以编一下: x1=-2.9:0.01:2.9; x2=x1; m=size(x1,1); n_elements=zeros(m+1); % preallocation for i1=1:m+1 for i2=1:m+1 if i1==1 ind1=y(:,1)x1(i1); else ind1=y(:,1)>=x1(i1-1) & y(:,1)=x2(i2-1) & y(:,2)
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2013-10-6 14:53:02
我倒不知道有没有相关的函数,不过可以编一下:

x1=-2.9:0.01:2.9;
x2=x1;
m=size(x1,1);
n_elements=zeros(m+1);       % preallocation

for i1=1:m+1
    for i2=1:m+1
          if i1==1
                ind1=y(:,1)<x1(i1);
          elseif i1==m+1
                ind1=y(:,1)>x1(i1);
          else
                ind1=y(:,1)>=x1(i1-1) & y(:,1)<x1(i1);
          end
          if i2==1
                ind2=y(:,2)<x2(i2);
          elseif i2==m+1
                ind2=y(:,2)>x2(i2);
          else
                ind2=y(:,2)>=x2(i2-1) & y(:,2)<x2(i2);
          end
          n_elements(i1,i2)=sum(ind1 & ind2);
    end
end

另外如果想看3维直方图的话,可以考虑hist3这个函数。。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-10-7 14:46:17
danielruc91 发表于 2013-10-6 14:53
我倒不知道有没有相关的函数,不过可以编一下:

x1=-2.9:0.01:2.9;
谢谢!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群