【问题标题】:different sized bins in matlabmatlab中不同大小的bin
【发布时间】:2013-08-10 18:41:18
【问题描述】:

Matlab 我有一个向量 Muen 我想通过将它分成不同长度的 bin 来减小它的大小。该向量有一些需要高精度 bin 的值和许多大致相等的值,可以收集到最大为几百个值的 bin 中。 我还需要知道进入新 bin 的所有旧 bin 的索引,以缩短 sencod 向量 fluence

目标是通过使用由 Meun 确定的不同大小的 bin 来加速两个向量 sum(fluence.*Muen) 的求和并在向量乘法之前将 fluence 的总和放入新的 bin 中。 为此,我尝试使用

edges=[min(Muen):0.0001:Muen(13),Muen(12:-1:1)); 
[N,bin]=histc(*Muen*,edges) 

问题是如何制作向量,因为Muen的最大值和最小值之间有很大的差异,而其他值之间的差异很小。有没有办法根据导数Muen制作edges的步骤?

为了获得 Muen 的较短版本,应该是这样的

MuenShort=N.*edges;  

但它没有正确退出(可能是 edges 中的错误),有什么建议吗?

我也不太明白 bin 如何给出进入新箱的值的索引?

说明: 我想要做的是从一个向量 mMuen 获取大致相等的元素并用一个元素替换它,同时跟踪索引哪个元素进入一个新的向量 nMuenShort。例子 {m1}->n1,(1), {m2}->n2,(2), {m3,m4}-> m3=m4=n3,(3,4),{m5,m6,m7,m8} -> m5=m6=m7=m8=n4,{5,6,7,8}... 其中 n1>>n2 但 n3 和 n4 之间的差异可能不会那么大。每个 n 元素中的 m 元素数量应由彼此大致相等的 m 元素数量决定,或者更确切地说,它们位于两个限制之间。所以 bin 的大小应该在一个元素到几百个元素之间变化。
然后我想使用索引来使 fluence 向量更短

fluenceShort(1:length(MuenShort))= [sum(fluence(1)),sum(fluence(2)),sum(fluence(3,4)),sum(fluence(5,6,7, 8))...]; 目标=sum(fluenceShort.*MuenShort)

有没有办法在 Matlab 中实现这个?

【问题讨论】:

  • 请让您的问题更清楚。您正在谈论 bin 并使用 histc,因此您可能想要计算一些直方图,但您从未这么说。 Muen 是递减排序的吗?由于您似乎向后使用它来创建边缘...

标签: matlab bins


【解决方案1】:

即使我不能清楚地理解您的问题,我也会建议您这样做。也许你可以对你的向量muen进行排序,选择一个固定的数字n,并定义每个bin,使其恰好包含muenn值。为简单起见,假设muen的长度是n的倍数:

n = 10;
m = length(muen_sorted)/n; 
muen_sorted = sort(muen);
edges = [-inf mean([muen_sorted(n:n:end-1); muen_sorted(n+1:n:end)]) inf ];
muen_short = mean(reshape(muen_sorted,n,m));

注意得到m+1边(向量edges),对应m bins。 Bin 边缘恰好位于相邻 bin 的最接近值之间。因此,第一个 bin 的上边缘是(muen_sorted(n)+muen_sorted(n+1)/2;下一个 bin 的上边缘是(muen_sorted(2*n)+muen_sorted(2*n+1)/2,以此类推。

每个 bin(向量 muen_short)的“代表值”被计算为该 bin 中值的 mean。或者median 可能更有意义,具体取决于您的应用程序。

作为此代码的结果,muen_short(1) 是与边缘为edge(1)edge(2) 的bin 对应的值; muen_short(2) 是与边缘为edge(2)edge(3) 等的bin 对应的值。

您现在可以使用变量edges 来构建具有相同边的fluence 的直方图。

【讨论】:

  • 我不完全理解这个问题的一个方面是你将如何跟踪哪个元素最终进入了哪个 bin,以便以后的 fluence 也被正确地分类。我想这要求通量是 Muen 的线性(或至少单调)函数?
猜你喜欢
  • 1970-01-01
  • 2020-05-21
  • 1970-01-01
  • 2012-10-08
  • 2015-09-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多