Convertion between empty matrix and Null
Show older comments
I am trying to check if two vectors are identical, quite often these can be null or empty and of different lengths. I confess my ignorance as to the processes which decide wheather the matrix is null or empty, but I am trying to use an all command (the vectors are sorted and have unique elements). I hit a bug when one vector is null and the other Empty. Any ideas?
{strato =
[]
>> stratn
stratn =
Empty matrix: 1-by-0
>> stratn==stratn
ans =
Empty matrix: 1-by-0
K>> all(stratn==stratn)
ans =
1
K>> all(strato==strato)
ans =
1
K>> all(strato==stratn) ??? Error using ==> eq Matrix dimensions must agree.}
Accepted Answer
More Answers (3)
Jacob Halbrooks
on 9 Mar 2012
It is informative to inspect the dimensions of []:
>> size([])
ans =
0 0
In equality checks, the dimensions must agree, so this will be unequal to "vector" empties:
>> isequal(ones(0,0), ones(0,1))
ans =
0
I would suggest you use ISEMPTY if you want to treat all empties as the same:
>> isequal(isempty(ones(0,0)), isempty(ones(0,1)))
ans =
1
Walter Roberson
on 9 Mar 2012
0 votes
A matrix is empty if any of its dimensions are 0.
See also isempty()
1 Comment
Langyu
on 2 Nov 2013
Thanks, I think this answer works best.
Sean Danaher
on 12 Mar 2012
0 votes
Categories
Find more on Data Type Identification in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!