具有多个无限值的数组as +inf和-inf.如何替换-inf该数组中存在的最小值以及+inf相同数组的最大值.数组是某些计算的输出,因此我们最初不知道.但是,只是一个示例将数组作为A=[inf, 1, 2, inf, 0, -4, -inf, -1, -inf].这里min和max清楚地给出为-4和2,我可以使用循环轻松替换它.如何为某些计算的结果数组执行此操作.我将感谢您宝贵的建议.
Matlab具有称为逻辑索引的强大功能.这意味着您可以使用相同长度的布尔数组索引数组.
A=[inf, 1, 2, inf, 0, -4, -inf, -1, -inf]
%Replace the values where A==-inf with the minimum real number.
A(A==-inf) = min(A(isfinite(A)));
%Replace the values where A==+inf with the maximum real number.
A(A==inf) = max(A(isfinite(A)));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1443 次 |
| 最近记录: |