MATLAB: Could anyone help me to solve the issue

matrix manipulation

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

Best 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)