MATLAB Answers

0

could anyone help me to solve the issue

Asked by jaah navi on 5 Jun 2019
Latest activity Answered by Rik
on 5 Jun 2019
I am having a matrix size(4,8) which is having a combination of zero and non zero values.
could any one help me how to display the matrix in such a way that it should atleast contain one nonzero value with respect to its every row and every column

  7 Comments

Does it matter which values are removed? What motivates the choice? Should there be as little non-zero values left as possible?
I need to modify the above matrix in such a way that every row and column should contain atleast one non zero value.
The original matrix you showed already did satisfy this requirement.
the values can be removed under the condition that every row and column should contain atleast one non zero values.

Sign in to comment.

1 Answer

Answer by Rik
on 5 Jun 2019
 Accepted Answer

This removes elements until your matrix is no longer valid according to your rule. It is very slow for bigger matrices, but it is guaranteed to work. Look up "bubble sort" if you want to understand how it works.
A=rand(4,8);
isValidMatrix=@(x) all(any(x,1)) && all(any(x,2));
B=A;
%use a structure similar to the 'bubble sort' algorithm
for idx1=1:numel(B)
for idx2=idx1:numel(B)
if B(idx2)==0,continue,end
B_temp=B;
B_temp(idx2)=0;
if isValidMatrix(B_temp)
B=B_temp;
end
end
end
disp(B)

  0 Comments

Sign in to comment.