Filter löschen
Filter löschen

Convertion between empty matrix and Null

1 Ansicht (letzte 30 Tage)
Sean Danaher
Sean Danaher am 9 Mär. 2012
Kommentiert: Langyu am 2 Nov. 2013
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.}

Akzeptierte Antwort

James Tursa
James Tursa am 9 Mär. 2012
Why not use the isequal function?

Weitere Antworten (3)

Jacob Halbrooks
Jacob Halbrooks am 9 Mär. 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
Walter Roberson am 9 Mär. 2012
A matrix is empty if any of its dimensions are 0.
See also isempty()

Sean Danaher
Sean Danaher am 12 Mär. 2012
many thanks to James and also Jacob with a more comprehensive answer

Kategorien

Mehr zu Matrices and Arrays finden Sie in Help Center und File Exchange

Tags

Produkte

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by