extracting values above 0 in an array and putting them in a new array

how can i get a 1x5 array by taking values of non-zero? (e.g. taking the first column and taking the first minimum value greater than zero)?

1 Comment

Question: for column 4, should the output be 1.6807 as the "first" mininum value that is greater than 0? Or should it be 1.6054 because that is the minimum non-zero value in the row? Or should it be 3.8141 because that is the first non-zero value after the 0 ?

Sign in to comment.

 Accepted Answer

Hey, you can use the below piece of code for your desired functionality.
a(a<=0)=inf;
minArray = min(a);
If you want to keep the original array unchanged first assign it to a temporary variable and use it to extract the result.

2 Comments

this returns a 1x5 array of ZEROs, i want NON-ZEROS minimum value.
You are incorrect, Hatim
data = [
0 0.0754 0.2159 1.6807 2.6856
0.0754 0 0.2911 1.6054 2.7275
0.2159 0.2911 0 1.8965 2.5913
1.6807 1.6054 1.8964 0 3.8141
2.6856 2.7275 2.5913 3.8141 0
];
a = data;
a(a<=0) = inf;
minArray = min(a);
disp(minArray)
0.0754 0.0754 0.2159 1.6054 2.5913
No zeros returned at all.
dipak's solution is correct.

Sign in to comment.

More Answers (1)

matrix(matrix <= 0) = inf;
Wanted = min(matrix)

6 Comments

this returns a 1x5 array of ZEROs, i want NON-ZEROS minimum value.
Huh?
>> matrix = [.1, -1;...
0, .01;...
.03, 0]
matrix(matrix <= 0) = inf
Wanted = min(matrix)
matrix =
0.1000 -1.0000
0 0.0100
0.0300 0
matrix =
0.1000 Inf
Inf 0.0100
0.0300 Inf
Wanted =
0.0300 0.0100
"extracting values above 0 in an array and putting them in a new array"
then I am not getting the question till yet.
Well you need to read the content as well , not the question alone.
thanks, it was just a syntax eroor. my bad (Y)
Hatim you need to accept dipak’s answer because he was first before me. I was typing the answer in my phone so didn’t realise there was an answer already.

Sign in to comment.

Categories

Products

Release

R2020a

Tags

No tags entered yet.

Community Treasure Hunt

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

Start Hunting!