【问题标题】:Matlab: How to create a CDF arrayMatlab:如何创建 CDF 数组
【发布时间】:2016-09-29 13:31:42
【问题描述】:

我对 Matlab 还很陌生,正在努力为学校学习。我创建了一个值向量,连续值之间具有固定差异。例如。 A = [1 2.5 4 5.5 7 8.5 10 ...]。

我还有另一个随机值向量,例如B = [3 7 1 2 3 4 8 0 ...]。

我想创建一个与 A 大小相同的新向量,其中的数字表示 B 中小于或等于 A 中每个值的值的数量。

在本例中,C = [2 3 6 6 7 8 ...]

提前致谢!

上下文:我正在研究 CDF 函数

【问题讨论】:

    标签: matlab


    【解决方案1】:

    您可以使用bsxfun() 来实现数组之间的逐元素比较:

    C = sum( bsxfun(@le, B', A) )
    

    这里我们传递bsxfun()“小于或等于”函数句柄@le。这会产生 length(B) by length(A) 逻辑数组。我们简单地对各行求和,得到TRUE 的总数。

    【讨论】:

    • 完美,这完全符合我的需要。非常感谢!
    • @user2562952 太好了 - 很高兴为您提供帮助!
    猜你喜欢
    • 1970-01-01
    • 2018-12-12
    • 2016-09-03
    • 2017-06-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-08
    • 2012-01-06
    相关资源
    最近更新 更多