how can i deal with empty matrix: 0-by-any number resulting from simulation???

1 view (last 30 days)
I have made a simulation and the result each time of the simulation is a matrix and i choose a certain row from the matrix, so if the simulation run=500, i'll have a 500 matrix and ,the row i choose each time will be (at the end of the simulation) 500 rows [one row from the first matrix...last row from the last matrix]... the problem is some times a matrix dose not contain the certain row i want , the answer is for example empty matrix: 0-by-6 i want to ignor this answer Note: the row i choose is not necessary to be exist in all matrices so if the run=600 , result in 600 matrix , the row i choose maybe =400 only and the other 200 will be zero the simulation STOP when the result is empty matrix: 0-by-any number i use Matlab
  2 Comments
arkedia
arkedia on 5 Feb 2013
for example: the first matrix from simulation=[18 1 0 0 0;12 0 0 0 1;15 1 1 0 0] and the second matrix from simulation=[25 0 0 0 0;30 1 1 0 0;14 0 0 1 0] and the thierd matrix from simulation=[50 1 0 0 0;12 0 0 1 0;24 1 1 1 0] I used the following function ::::::::::::::::::: idxfun=@(x)find(ismember(x(:,2:end),[1 0 0 0],'rows'))::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::: a=the first matrix(idxfun(the first matrix),:)the answer is as follows: 18 1 0 0 0 the second matrix answer is:: empty matrix:0-by-5 then the simulation stop!! what i want is to make the simulation continue and go to the next matrix and in this example the answer will be 50 1 0 0 0

Sign in to comment.

Accepted Answer

Shashank Prasanna
Shashank Prasanna on 3 Feb 2013
Have tried ISEMPTY, you can check if a matrix is empty and then discard it or proceed as required.

More Answers (0)

Categories

Find more on Get Started with MATLAB 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!