【问题标题】:How to find non zero minimum array in a 2D matrix in matlab如何在matlab的二维矩阵中找到非零最小数组
【发布时间】:2016-01-14 06:36:59
【问题描述】:

我有一个如下所示的二维矩阵:

A = 

1.0000    1.0000    1.0000    1.0000    1.0000    1.0000    1.0000    1.0000    1.0000    1.0000    0.8193    0.6429    0.4731
1.0000    1.0000    1.0000    1.0000    1.0000    1.0000    1.0000    1.0000    1.0000    1.0000    0.8172    0.6395    0.4696
1.0000    1.0000    1.0000    1.0000    1.0000    1.0000    1.0000    1.0000    1.0000    1.0000    0.8099    0.6285    0.4582
1.0000    1.0000    1.0000    1.0000    1.0000    1.0000    1.0000    1.0000    1.0000    1.0000    0.7938    0.6066    0.4364
1.0000    1.0000    1.0000    1.0000    1.0000    1.0000    1.0000    1.0000    1.0000    1.0000    0.7588    0.5675    0.4006
1.0000    1.0000    1.0000    1.0000    1.0000    1.0000    1.0000    1.0000    1.0000    0.8527    0.6739    0.5039    0.3477
1.0000    1.0000    1.0000    1.0000    1.0000    1.0000    1.0000    1.0000    0.8825    0.7371    0.5803    0.4264    0.2807
1.0000    1.0000    1.0000    1.0000    1.0000    1.0000    1.0000    1.0000    0.7928    0.6327    0.4838    0.3406    0.2054
1.0000    1.0000    1.0000    1.0000    1.0000    1.0000    0.8846    0.7945    0.6560    0.5173    0.3816    0.2469    0.1131
1.0000    1.0000    1.0000    1.0000    1.0000    0.8598    0.7438    0.6373    0.5194    0.3988    0.2785    0.1522         0
1.0000    1.0000    1.0000    0.8710    0.7956    0.6954    0.5935    0.4916    0.3856    0.2799    0.1814    0.0834         0
0.7915    0.7845    0.7581    0.6884    0.6159    0.5326    0.4432    0.3500    0.2514    0.1538    0.0838         0         0
0.5972    0.5882    0.5596    0.5085    0.4471    0.3760    0.2967    0.2137    0.1163         0         0         0         0
0.4208    0.4116    0.3836    0.3389    0.2881    0.2274    0.1540    0.0919         0         0         0         0         0
0.2629    0.2536    0.2244    0.1755    0.1388    0.0915         0         0         0         0         0         0         0
0.1235    0.1155    0.0850         0         0         0         0         0         0         0         0         0         0
     0         0         0         0         0         0         0         0         0         0         0         0         0

我想删除它的零数组,然后找到每列的最小值并将这些最小值放入一个向量中。

我刚刚使用了find(A ~= 0),但它不起作用。

我该怎么做?

【问题讨论】:

  • 2 件事:1) 请将矩阵发布为文本而不是图像。 2) 你有没有尝试过?
  • 为什么需要删除零?在矩阵 A(A>0) 上按列运行 min 就可以了

标签: matlab matrix


【解决方案1】:

NaN 替换所有零,然后将min 单独应用于每一列。在矩阵/向量中将值设置为NaN 允许min 忽略这些值,因此您实际上会忽略零。假设您的矩阵位于A,请执行以下操作:

Anan = A;
Anan(A == 0) = NaN;
out = min(Anan, [], 1);

【讨论】:

    猜你喜欢
    • 2012-06-29
    • 2020-08-17
    • 1970-01-01
    • 2021-09-20
    • 2011-10-31
    • 2011-02-07
    • 2017-06-30
    • 1970-01-01
    相关资源
    最近更新 更多