如何在 MATLAB 中计算 99% 的覆盖率?
我在 MATLAB 中有一个矩阵,我需要找到每一列的 99% 值。换句话说,99%的人口都比它大。 MATLAB中有这个功能吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
我在 MATLAB 中有一个矩阵,我需要找到每一列的 99% 值。换句话说,99%的人口都比它大。 MATLAB中有这个功能吗?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(3)
使用 QUANTILE 函数。
其中 X 是矩阵,P 是标量或概率向量。例如,如果 P=0.01,则 Y 将是每列值的向量,因此 99% 的列值较大。
Use QUANTILE function.
where X is a matrix and P is scalar or vector of probabilities. For example, if P=0.01, the Y will be vector of values for each columns, so that 99% of column values are larger.
最简单的解决方案是使用函数 QUANTILE 作为 yuk 建议。
但是,您需要统计工具箱才能使用该函数QUANTILE。通过注意到 QUANTILE 调用函数PRCTILE,它本身调用内置函数INTERP1Q 进行主要计算。对于不包含 NaN 的二维矩阵的一般情况您可以使用以下代码计算每列的分位数:
这应该为您提供与调用 QUANTILE,无需任何工具箱。
The simplest solution is to use the function QUANTILE as yuk suggested.
However, you will need the Statistics Toolbox to use the function QUANTILE. A solution that is not dependent on toolboxes can be found by noting that QUANTILE calls the function PRCTILE, which itself calls the built-in function INTERP1Q to do the primary computation. For the general case of a 2-D matrix that contains no NaN values you can compute the quantiles of each column using the following code:
This should give you the same results as calling QUANTILE, without needing any toolboxes.
如果您没有统计工具箱,则总有
或
取决于您的意思。
If you do not have the Statistics Toolbox, there is always
or
depending on what you meant.