Trying to find the min non-zero value of a [925x902] matrix

7 次查看(过去 30 天)
I am trying to find the minimum non-zero value of a [925x902] matrix called D1.Z
i have tried:
min(D1.Z(D1.Z > 0));
D1.Z(D1.Z==0) = nan; then min(min(D1.Z));
Error comes up saying the 'index exceeds the number of array elements (1)'
Anyway around these?

采纳的回答

Star Strider
Star Strider 2022-4-25
Perhaps —
D1.Z = rand(925,902) % Create Test Matrix
D1 = struct with fields:
Z: [925×902 double]
D1.Z(randi(numel(D1.Z),1,5)) = 0; % Set Some Elements To Zero
Check = min(D1.Z,[],'all') % Check Matrix To Demonstrate Replacement Effective
Check = 0
MinZ = min(D1.Z(D1.Z~=0),[],'all') % Return Minimum ~= 0
MinZ = 1.2686e-06
.
  6 个评论
Star Strider
Star Strider 2022-4-25
My pleasure!
If my Answer helped you solve your problem, please Accept it!
.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by