簡體   English   中英

如何在Matlab中的2D矩陣中找到非零最小數組

[英]How to find non zero minimum array in a 2D matrix in matlab

我有一個2D矩陣,如下所示:

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)但是它不起作用。

我怎樣才能做到這一點?

將所有零替換為NaN ,然后將min分別應用於每個列。 在矩陣/向量中將值設置為NaN可使min 忽略這些值,因此您實際上將忽略零。 假設您的矩陣在A ,請執行以下操作:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM