Unexpected behaviour from ishandle()

Hi,
In a script, I was checking the existence of a plot handle to either make a new plot or to change the x/y data. Surprisingly this didn't work by initially setting the plot handle to []. Reason:
>> ishandle( [] )
ans =
[]
which sort of makes sense.
However, my next step was to initialise the plot handle to 0, which also didn't work, and this was the real surprise:
>> ishandle( 0 )
ans =
1
Even though
>> ishandle( 1 )
ans =
0
Does anybody why zero would be a valid graphics or Java object handle?
Thanks,
Temu

1 Commento

I forgot to check the forum. Apparently, 0 is the root handle.
Temu

Accedi per commentare.

 Risposta accettata

Stephen23
Stephen23 il 22 Nov 2019
Modificato: Stephen23 il 22 Nov 2019

0 voti

On MATLAB versions prior to R2016b zero is the handle to the graphics root (i.e. the parent of all graphics figures):
For compatilbility using zero is still permitted in later versions.

Più risposte (0)

Categorie

Scopri di più su Creating, Deleting, and Querying Graphics Objects in Centro assistenza e File Exchange

Prodotti

Release

R2015b

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by