matlab 2nd min question
1 view (last 30 days)
Show older comments
I have a matrix of 7000 * 7000 in which it contains 0 value and other random ones.(only positive integers). what i want is to identify the minimum value excluding zero and subtract it from all other values, and then compute using my formulas. What i want is that the operation should not touch zero at all. It should leave it as it is....
The output i should get such that nothing happens to zeros but for remaining the min value is identified and subtracted from all.. zero should be left as it is. Dont consider it
0 Comments
Answers (2)
Azzi Abdelmalek
on 7 Jun 2013
Edited: Azzi Abdelmalek
on 7 Jun 2013
A=[1 0 2;3 4 5;0 0 4]
b=A(:);
b=b(b~=0)
val=min(b)
%or
B=A
B(B==0)=inf;
[min_val,idx]=min(B(:))
2 Comments
Azzi Abdelmalek
on 7 Jun 2013
B=A
B(B==0)=inf; % replace all zero values by inf
[min_val,idx]=min(B(:)) % min_value is the smallest value in B and idx is its corresponding index
See Also
Categories
Find more on Resizing and Reshaping Matrices in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!