Unexpected behaviour from ishandle()

1 view (last 30 days)
Temu Gautama
Temu Gautama on 22 Nov 2019
Edited: Stephen23 on 22 Nov 2019
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 Comment
Temu Gautama
Temu Gautama on 22 Nov 2019
I forgot to check the forum. Apparently, 0 is the root handle.
Temu

Sign in to comment.

Accepted Answer

Stephen23
Stephen23 on 22 Nov 2019
Edited: Stephen23 on 22 Nov 2019
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.

More Answers (0)

Categories

Find more on Startup and Shutdown in Help Center and File Exchange

Tags

Products


Release

R2015b

Community Treasure Hunt

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

Start Hunting!